4

我收到 404 not found 错误,因为浏览器无法找到 /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>

Startup.cs 如下:

namespace SignalRHubServer
{
  public class Startup
  {
    public void Configuration(IAppBuilder app)
    {            
        app.MapSignalR();
    }
  }
}

当我调试时,app.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 它曾经可以正常工作。

谁能建议我可能做错了什么?

4

1 回答 1

2

为了让它工作,我不得不恢复到 SignalR-1.1.3。我无法让它与 SignalR-2.0-rc1 beta 版本一起使用。

但是,使用 SignalR-2.0,2013 年 10 月 17 日在 nuget 中稳定发布,一切正常。

于 2013-10-18T11:54:10.213 回答