我遇到Signal r 2.2.1 ASP.NET MVC 5的问题。在Chrome上,SignalR服务器运行良好(我可以与服务器通信),但在Edge或IE上他没有工作。
Signal R服务器是ASP.NET MVC 5项目。
Microsoft Edge控制台日志记录:
服务器启动代码:
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),它无法正常工作。
也许我错过了什么? 有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
通过在服务器端启用WebSocket来解决此问题。 Microsoft Edge和IE不支持服务器发送事件(SSE),因此客户端可以回退到长轮询。