问题:
SignalR未在我的网络服务器上触发OnDisconnected
。这很简单,但没有开火。我试过了:
public override Task OnDisconnected(bool stopCalled) {
LogUtil.LogInfo("Disconn");
return base.OnDisconnected(stopCalled);
}
我正在使用SignalR 2.2.0.0并且OnConnected
工作得很好。
我已经尝试过在最后一次客户端调用时做的建议,以确保连接已启动并运行。
我搜索了所有论坛,SO,GIT等等,没有解决我的问题。
答案 0 :(得分:0)
我还遇到了登录OnDisconnect时无法正常工作的问题。像您一样,我发现没有调用OnDisconnect方法。
但事实证明,我假设HttpContext.Current可用。 (我的记录器使用它来从会话中获取一些状态信息。)当您考虑它时,期望当前上下文没有任何意义。毕竟,您正在断开连接! HttpContext.Current抛出了一个空指针异常,但我看不到它。
一旦删除了对HttpContext的依赖关系,当前,我就能够记录断开连接并发送警报电子邮件的情况。
答案 1 :(得分:0)
就我而言,我至少需要一个chat.client.broadcast方法才能使其正常工作...否则,它将触发除OnDisconnected方法之外的任何其他事件。
答案 2 :(得分:0)
就我而言,我有一个仅用于调用服务器方法的集线器。
当我将javascript代理客户端订阅到至少一个服务器中心事件时,OnDisconnected方法开始触发。
hubProxy.on('myEvent', myHandler);