如何防止IIS杀死SignalR连接?

时间:2015-05-13 02:05:48

标签: asp.net iis signalr

我的ASP.NET网站(在IIS中托管)将在启动后连接到SignalR中心。 (我把连接代码放在Application_Start中。)

但我发现有时网站会因为IIS恢复中的某些配置而自动断开连接?

如何在我的网站服务器和signalR之间保持此连接 enter image description here

1 个答案:

答案 0 :(得分:1)

默认行为是在App池回收后SignalR重新连接。那你必须有一些不能存活的自定义代码吗?

我在我的库中解决了这个问题

$.connection.hub.reconnected(this.reconnected.bind(this));

reconnected: function () {
    var temp = this.activeSubscriptions;
    this.activeSubscriptions = [];
    this.queuedSubscriptions = temp;
    this.sendSubscribeQueue(true);
}

它将所有订阅保存在客户端内存中,当重新连接发生时,它将重新发送对服务器的订阅

你可以滚动类似的东西,或者我的库适合你的用例吗?

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki