C# 404信号器/集线器和jquery脚本上的错误
我刚开始用C#使用C# 404信号器/集线器和jquery脚本上的错误,c#,asp.net,iis-7,http-status-code-404,signalr,C#,Asp.net,Iis 7,Http Status Code 404,Signalr,我刚开始用C#使用signal,似乎很有趣 我创建了一个ASP.NET空Web应用程序,并遵循了下面提到的教程 我找到了关于MSDN的教程 我已经完成了教程中提到的所有步骤。当它在ASP.NET开发服务器上运行时,它似乎在我的本地计算机上工作 但是当我将项目部署到我的IIS7时,它就不起作用了 当我使用fiddler进行检查时,它在html页面中包含的所有脚本文件上的结果都是404 这是小提琴手所展示的 甚至我也从StackOverflow上的帖子中找到了一些建议,当我更改web.config文
signal
,似乎很有趣
我创建了一个ASP.NET空Web应用程序
,并遵循了下面提到的教程
我找到了关于MSDN的教程
我已经完成了教程中提到的所有步骤。当它在ASP.NET开发服务器上运行时,它似乎在我的本地计算机上工作
但是当我将项目部署到我的IIS7
时,它就不起作用了
当我使用fiddler进行检查时,它在html页面中包含的所有脚本文件上的结果都是404
这是小提琴手所展示的
甚至我也从StackOverflow上的帖子中找到了一些建议,当我更改web.config
文件时,这些建议似乎也不起作用
最后,我修改了我的web.config
这是我的web.config文件:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>
我也变了
<script type="text/javascript" src="/signalr/hubs"></script>
现在,jQuery
脚本似乎也在加载和工作
以下是在IIS上托管时更新的错误消息,它来自浏览器窗口的控制台选项卡
SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
SCRIPT5022:信号器:加载集线器时出错。确保您的集线器参考是正确的,例如。
您的IIS设置可能有问题。请尝试为.js扩展名添加MIME类型。请参阅此404当IIS无法处理无扩展名url时,可能会发生错误
MSDN文章演示了如何在2.0版中创建Signal应用程序。但您使用的是Signalr1.0,可能是VisualStudio的旧版本。升级visual studio并使用nugget package manager将signalr 2.0需求添加到项目中。我认为作为第一次尝试,最好使用asp.net web应用程序而不是MVC(如MSDN文章所述)。这样就不会有路由问题了。我可以毫无问题地运行该示例。请在此服务器上包括您的Global.asax.csDoes MVC工作?尝试添加RouteTable.Routes.IgnoreRoute(“脚本/”);为您的全球服务。asax@dfowler考虑到它的本地主机,我会这样假设。我不会做任何假设。这真的是一个肯定或否定的问题。SignalR在ASP.NET中使用路由,如果路由不起作用,那么MVC之类的东西也不会起作用(这就是问题所在)。
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
<script type="text/javascript" src='<%= ResolveUrl("~/signalr/hubs") %>'></script>
RouteTable.Routes.IgnoreRoute("Scripts/");
SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.