好的,这似乎是关于运行VS2012(运行良好)与部署在我本地win7 IIS 7.5机器上之间的差异的问题。
NB - 最终通过fiddler运行对/ signalr / hubs的调用返回404
javascript中报告的错误是:
messageHub is undefined
,其中
var messageHub = $.connection.startHub;
并在我的集线器课程中
[HubName("startHub")]
public class ourHub : Hub
{
....
我在App Start中调用MapHubs
protected void Application_Start(object sender, EventArgs e)
{
//Required for SignalR
RouteTable.Routes.MapHubs();
}
我在web.config中设置了RAMFAR(runAllManagedModulesForAllRequests =“true”>)...
<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>
问题似乎与我如何定义自动生成的信号器/集线器
有关这是一个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未定义
非常感谢:)答案 0 :(得分:0)
好吧,经过振铃并发现没有错,(并创建其他自动生成的集线器,具有相同的最终结果)我得出结论,这是“其中一个”错误,也许它不是中心的集线器所有。 因此,我完全取消了SignalR,并通过nuget重新添加。这次我没有得到404但是在它自己的集线器中产生了一个错误(与SignalR无关的错误),并且一旦对它进行了排序,一旦部署,它们都会在调试中挂起,并且(一般来说!)。
希望我知道其根本原因是什么,但删除任何与SignalR相关的内容并重新添加似乎都可以解决问题......