yoj*_*o87 2 asp.net long-polling signalr signalr-hub
我正在使用带有集线器的SignalR 0.5.3,我明确地将传输设置为长轮询,如下所示:
$.connection.hub.start({ transport: 'longPolling' }, function () {
console.log('connected');
});
Run Code Online (Sandbox Code Playgroud)
使用这样的配置(在global.asax.cs Application_Start方法中):
GlobalHost.DependencyResolver.UseRedis(server, port, password, pubsubDB, "FooBar");
GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(2);
GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(15);
Run Code Online (Sandbox Code Playgroud)
然而,长期轮询似乎既不适用于开发(IIS express)也不适用于生产(IIS 7.5)环境.连接似乎正常,但长轮询请求总是超时(约2分钟后),之后重新连接.IIS的日志在这里.第一次超时请求的回复:
{"MessageId":"3636","Messages":[],"Disconnect":false,"TimedOut":true,"TransportData":{"Groups":["NotificationHub.56DDB6692001Ex"],"LongPollDelay":0}}
Run Code Online (Sandbox Code Playgroud)
超时重新连接响应如下所示:
{"MessageId":"3641","Messages":[],"Disconnect":false,"TimedOut":true,"TransportData":{"Groups":["NotificationHub.56DDB6692001Ex"],"LongPollDelay":0}}
Run Code Online (Sandbox Code Playgroud)
对于这个问题,我将不胜感激.谢谢.
编辑
如果重新连接意味着新的长轮询周期的开始,为什么在global.asax.cs中的KeepAlive设置设置为15秒后~2分钟后启动?问题在于我在IIS前面有一个反向代理,它在25秒后超时保持活动请求,因此当达到此反向代理超时时,我得到504响应.
| 归档时间: |
|
| 查看次数: |
17485 次 |
| 最近记录: |