【发布时间】:2017-11-23 02:50:00
【问题描述】:
我们有一个横向扩展(2 个实例)Azure Cloud 部署了基于 asp.net Web API 的 SignalR 集线器服务器,它充当设备及其移动用户之间的桥梁。几乎是一个聊天场景。
我们看到 多个 OnDisconnected 调用了一些连接,尽管这些连接是活动的。基本上,虽然服务器看到多个 OnDisconnected 调用在其自身上触发一个连接,但客户端仍然可以进行调用,并且它继续使用具有相同信号器连接 ID 的同一单个连接。
就好像客户端对服务器上调用的 OnDisconnected 没有影响。 客户端使用 websockets。
我们在 OnDisconnected 中进行了一些操作(基本上是跟踪连接),并且因此而变得混乱。我们的代码封装在 try/catch 块中,并让 base.OnDisconnected 运行而不受任何限制。 查看了信号器代码,但无法弄清楚这是怎么可能的。
任何帮助将不胜感激。 我们正在使用:Signalr 2.2.2。
【问题讨论】:
标签: asp.net-web-api websocket signalr