SignalR - OnDisconnected调用太迟了

时间:2017-06-06 11:51:40

标签: c# server signalr connection-timeout

我正在使用自托管SignalR 2.2.0服务器并使用OWIN进行配置。

[assembly: OwinStartup(typeof(Server.Communication.StartUp))]
namespace Server.Communication
{
    public class StartUp
    {
        public void Configuration(IAppBuilder app)
        {
            app.Map("/Communication", map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration { EnableDetailedErrors = true};
                map.RunSignalR(hubConfiguration);
            });
        }
    }
}

我通过

启动服务器
WebApp.Start($"http://{ip}:{port}");

在我的Hub中,我已经覆盖了方法

public override Task OnDisconnected(bool stopCalled)

如果我通过Windows任务资源管理器让我的客户端崩溃来模拟崩溃,那么一切正常并调用OnDisconnected方法。但是OnDisconnected方法被称为有点迟了。调用该方法至少需要30秒。我想将这个时间设置为10秒。

我在调用KeepAlive方法之前尝试设置ConnectionTimeoutWebApp.Start,但它没有改变任何内容。

GlobalHost.Configuration.ConnectionTimeout = new TimeSpan(0, 0, 10);
GlobalHost.Configuration.KeepAlive = new TimeSpan(0, 0, 2);

0 个答案:

没有答案