我刚开始使用SignalR
C#,看起来很有趣。
我创建了一个ASP.NET Empty Web Application
并遵循下面提到的教程
我在 MSDN 上找到了 SignalR 入门教程。
我已经完成了教程中提到的所有步骤。它似乎在我的本地机器上运行时工作ASP.NET Development Server
。
但是当我将项目部署到我的IIS7
时,它不起作用。
当我检查提琴手时,它在包含在 html 页面中的所有脚本文件上都有 404 的结果。
这是提琴手所展示的
即使我从 StackOverflow 上的帖子中找到了一些建议,当我更改web.config
文件时,这些建议似乎也不起作用。
最后我web.config
根据SignalR 的常见问题修改了我的。
这是我的 web.config 文件:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>
Global.asax 文件:
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
// Register the default hubs route: ~/signalr/hubs
RouteTable.Routes.MapHubs();
}
// Rest of the Methods(Session_Start,Application_BeginRequest..) are empty
}
我也变了
<script type="text/javascript" src="/signalr/hubs"></script>
至
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
和
<script type="text/javascript" src='<%= ResolveUrl("~/signalr/hubs") %>'></script>
它们似乎都不起作用。
不要犹豫,询问是否需要任何信息。
任何帮助,将不胜感激
更新
根据 Aron 的建议,对Global.asax
文件进行了以下更改
RouteTable.Routes.IgnoreRoute("Scripts/");
现在,jQuery
脚本似乎也在加载和工作。
这是托管在 IIS 上时更新的错误消息,它来自Console
浏览器窗口的选项卡。
SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.