我收到 404 未找到错误,因为浏览器找不到/signalr/hubs。我在普通的Web应用程序(不是mvc)中使用signalR-2.0.0-rc1。以下是相关的 web.config 设置
<appSettings>
<add key="owin:AppStartup" value="SignalRHubServer.Startup, SignalRHubServer" />
</appSettings>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
客户端代码(/signalr/hubs 双向使用):
<head>
<title>SignalR Echo</title>
<script type="text/javascript" src="Scripts/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.signalR-2.0.0-rc1.min.js"></script>
<script type="text/javascript" src="/signalr/hubs"></script>
<!--<script type="text/javascript" src='<%= ResolveClientUrl("signalr/hubs") %>'></script>-->
</head>
启动.cs如下:
namespace SignalRHubServer
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
当我调试时,应用程序的断点。MapSignaR() 确实被击中了,但我仍然收到相同的 404 错误。以下是中心声明
namespace SignalRHubServer
{
public class MyChatHub : Hub
{
public override Task OnConnected()
{
return base.OnConnected();
}
}
}
我从 SignalR-1.1.3 迁移了应用程序,并从 global.asax.cs 中删除了 MapHubs() 调用。我还卸载了相关的 SignalR nuget 包。但是,使用 SignalR-1.1.3 它曾经工作正常。
谁能建议我可能做错了什么?
为了使它正常工作,我不得不恢复到 SignalR-1.1.3。我无法让它与 SignalR-2.0-rc1 测试版一起使用。
但是,使用 SignalR-2.0,2013 年 10 月 17 日在 nuget 中稳定发布,一切正常。