使用ElmahR时信号器集线器的路径是什么?

时间:2013-04-30 05:32:37

标签: asp.net-mvc-4 signalr elmahr

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

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

我遇到了以下问题:

  1. 当我尝试访问/ signalr / hubs时,我收到404 Not found错误。我在网上搜索了这个错误,如果你没有配置Hub路由,通常会发生这种情况。我试图在global.asax文件中添加RouteTable.Routes.MapHubs()。但是它表示名为'signalr.hubs'的路由已经在路径集合中。有道理因为我使用ElmahR并且因为它依赖于SingalR,所以它已经将它添加到路径集合中。那么ElmahR应用程序中/ singalr / hubs的路径是什么?在标准的asp.net应用程序中使用signalR时,通常的集线器路径是/ signalr / hubs,但使用ElmahR时它的路径是什么?
  2. 我收到JavaScript错误“Uncaught TypeError:无法在我尝试访问hub.client的行中读取未定义的属性'client'。我想这是失败的,因为它无法找到我添加的新集线器。
  3. 如果我将集线器,关联的JavaScript和HTML复制到另一个ASP.NET MVC项目,那么一切正常。由于某些原因,它不适用于使用ElmahR的项目。我知道Hub和JavaScript中的代码没有任何问题,因为它可以与标准的ASP.NET MVC项目一起使用。基本上我想要做的就是将一个singalR集线器添加到使用ElmahR的项目中。此外,我似乎无法弄清楚使用ElmahR的应用程序中的集线器的URL路径。通常路径是/ signalr / hubs

    更新:

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

0 个答案:

没有答案