好的,这似乎是一个关于通过VS2012 (运行良好)运行与曾经部署在本地win7 IIS7.5机器上的区别的问题。
NB --最终通过fiddler运行调用/signalr/集线器将返回404
javascript中报告的错误是:
messageHub is undefined
哪里
var messageHub = $.connection.startHub;
在我的轮毂班
[HubName("startHub")]
public class ourHub : Hub
{
....
我在App中调用MapHubs
protected void Application_Start(object sender, EventArgs e)
{
//Required for SignalR
RouteTable.Routes.MapHubs();
}
我有RAMFAR (runAllManagedModulesForAllRequests=“真”>)设置在web.config.
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
问题似乎在于我如何定义自动生成的signalr/集线器。
这是一个asp.net应用程序(而不是mvc),所以故障排除页面(https://github.com/SignalR/SignalR/wiki/Faq)似乎在声明
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
这两种方法都不能通过VS进行调试,或者在部署时我也尝试过
<script src="/signalr/hubs"></script> (also with the type declaration)
<script src="~/signalr/hubs"></script>
在其他类似的线程中,已经提到要应用修补程序http://support.microsoft.com/kb/980368,但是win7下载声明它们不适用于我的计算机.
NB SignalR版本为1.1.3。
我还下载了StockTicker应用程序,该应用程序在VS中也能正常工作,但是在部署时报告了相同的底层问题,因为$.connection.stockTickerMini是未定义的。
非常感谢:)
发布于 2014-03-12 07:35:30
嗯,在检查了铃声之后,发现没有什么问题(并创建了另一个自动生成的集线器,其最终结果是相同的),我得出的结论是,这是“那些”错误之一,可能根本不是集线器。因此,我完全取消了SignalR,并通过nuget重新添加.这一次我得到的不是404,而是在集线器中生成的一个错误--它本身(一个与SignalR无关的错误),一旦排序,所有这些都挂在了调试和(关键!)中。一旦部署。
希望我知道根本原因是什么,但删除任何与SignalR有关的,并重新添加似乎是有效的.
https://stackoverflow.com/questions/22099908
复制相似问题