【问题标题】:How to prevent IIS from killing SignalR connection?如何防止 IIS 终止 SignalR 连接?
【发布时间】:2015-05-13 02:05:48
【问题描述】:

我的 ASP.NET 网站(托管在 IIS 中)一旦启动就会连接到 SignalR 集线器。 (我把连接代码放在Application_Start中)。

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

如何保持我的网站服务器和 signalR 之间的连接有效

【问题讨论】:

  • IMO 你不应该努力解决这个问题,你必须假设你的连接会消失,并且设计你的解决方案,尽管如此。
  • SignalR 客户端应该尝试重新连接到服务器。这没有发生吗?

标签: asp.net iis signalr


【解决方案1】:

默认行为是 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

【讨论】:

猜你喜欢
  • 2020-07-04
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
  • 2019-10-19
相关资源
最近更新 更多