我正在尝试向ElmahR仪表板页面添加一些自定义功能并遇到一些问题 . 我已经开始了一个新项目,添加了ElmahR仪表板NuGet包 . 配置了所有源应用程序,它按预期正常工作 .

现在我想在仪表板页面添加一些自定义功能 . 作为其中的一部分,我需要在仪表板页面,新的集线器,JavaScript等中添加一些UI . 自定义功能与错误记录无关 . 它完全不同 . 我们希望它添加到仪表板页面 . 我添加了新的Hub,JavaScript,HTML标记但它没有按预期工作 .

我遇到了以下问题:

  • 当我尝试访问/ signalr / hubs时,我收到404 Not found错误 . 我在网上搜索了这个错误,如果你没有't configured the Hub route. I tried to add RouteTable.Routes.MapHubs() in global.asax file. However it says that A route named ' signalr.hubs'已经在路径集合中,它通常会发生 . 有道理因为我使用ElmahR并且因为它依赖于SingalR,所以它已经将它添加到路径集合中 . 那么ElmahR应用程序中/ singalr / hubs的路径是什么?在标准的asp.net应用程序中使用signalR时,通常的集线器路径是/ signalr / hubs,但使用ElmahR时它的路径是什么?

  • 我在尝试访问hub.client的行中收到JavaScript错误"Uncaught TypeError: Cannot read property 'client' of undefined" . 我想这是失败的,因为它无法找到我添加的新集线器 .

如果我将集线器,关联的JavaScript和HTML复制到另一个ASP.NET MVC项目,一切正常 . 由于某些原因,它不适用于使用ElmahR的项目 . 我知道Hub和JavaScript中的代码没有任何问题,因为它可以与标准的ASP.NET MVC项目一起使用 . 基本上我想要做的就是将一个singalR集线器添加到使用ElmahR的项目中 . 此外,我似乎无法弄清楚使用ElmahR的应用程序中的集线器的URL路径 . 通常路径是/ signalr / hubs

更新:

经过进一步调查,我想到了ElmahR仪表板应用程序中集线器的路径 . 它是/ signalr101 / hubs . 但是在请求时,它会出错:"Uncaught Error: SignalR: JavaScript Hub Proxy generation has been disabled" . 似乎ElmahR会禁用JavaScript代理,可能是通过将应用程序的IConfigurationManager的DisableJavaScriptProxies属性设置为true(https://github.com/SignalR/SignalR/pull/1222) . 我想因为我得到了“Uncaught TypeError:无法在我试图访问hub.client的行中读取我的JavaScript中未定义的属性'client' . 如果JavaScript代理被禁用,那么我还有什么额外的工作吗?在我的JavaScript和Hub中执行此操作,以便我不会收到此JavaScript错误 .