SignalR 2.2.1 ASP.NET MVC 5 Edge / IE问题

时间:2017-03-13 08:25:10

标签: c# asp.net asp.net-mvc signalr

我遇到Signal r 2.2.1 ASP.NET MVC 5的问题。在Chrome上,SignalR服务器运行良好(我可以与服务器通信),但在Edge或IE上他没有工作。

Signal R服务器是ASP.NET MVC 5项目。

Microsoft Edge控制台日志记录:

enter image description here

Chrome:enter image description here

服务器启动代码:

 public class StartupConfiguration : Controller
    {
        public void Configuration(IAppBuilder app)
        {
            GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(110);
            GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(60);
            // This value must be no more than 1/3 of the DisconnectTimeout value.
            GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(20);

            var hubConfiguration = new HubConfiguration
            {
                EnableDetailedErrors = true,
                EnableJSONP = false,
            };
            app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR("/signalr", hubConfiguration);
        }

    }

注意:与类库(Windows服务)相同的代码在Edge / IE / Chrome上运行良好,但作为Web应用程序(ASP.NET MVC5),它无法正常工作。

也许我错过了什么? 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

通过在服务器端启用WebSocket来解决此问题。 Microsoft Edge和IE不支持服务器发送事件(SSE),因此客户端可以回退到长轮询。