1

我安装了 SignalR 2.0-rc1,并且:

1:创建集线器:

public class Socials : Hub
{
    public void PublicChat(string message)
    {
        Clients.All.PublicChat(new { message });
    }
}

2:创建了一个启动类:

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

3:在web.config中注册:

<add key="owin:AppStartup" value="Scyk.Startup, Scyk"/> //Scyk is my main namespace, also a project name, I placed Startup class in there.

现在,https://myhost.com/signalr/hubs正在正确生成 javascript 文件,但是当我在浏览器中打开开发人员控制台时,我看到它没有连接,但是:

  1. asp报错说找不到路径/signalr/connect(为什么要访问/signalr/connect?这正常吗?如果是,那这肯定是纯路由问题,怎么解决?)
  2. 在我的控制台中,我看到有一个EventSource's response has a MIME type ("text/html") that is not "text/event-stream". Aborting the connection.错误。我不确定这是否相关,但它今天开始出现,以前不存在。

我究竟做错了什么?

4

1 回答 1

1

任何以 /signalr 开头的路径都应通过 OWIN 路由,以便信号器可以处理请求。

客户端在访问 /signalr/negotiate 后尝试访问 /signalr/connect 是正常的。/signalr/connect 是 SignalR 建立其 WebSockets/Server-Sent Events/Forever Frame/Long Polling 连接的端点。

于 2013-09-25T21:25:45.103 回答