启动.cs方法应用.MapSignalR() 在 signalR-2.0 中未生成集线器



我收到 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 中稳定发布,一切正常。

最新更新