C# CORS客户端页面的信号器OnDisconnected()未立即激发
我有一个部署在服务器上的信号聊天应用程序。用户看到的聊天框应由聊天应用程序在目标网站上的iframe中呈现 我在以下方面有问题: 已断开连接的任务(bool stopCalled) 如果聊天应用程序已启动并正在运行,并且与服务器建立了连接(对于管理员端),并且我关闭了选项卡,则OnDisconnected会立即被调用,stopCall=true 但是,从客户端页面(IIS中的一个单独网站)的端口81(而不是80)上,如果我连接并关闭窗口,则会延迟调用OnDisconnected,stopCalled为false 另一件奇怪的事情是,如果我从聊天应用程序呈现客户端聊天窗口(即在新选项卡中输入iframe的URL,从而呈现相同域上的页面),OnDisconnected立即被调用。因此,我认为这是由于客户:C# CORS客户端页面的信号器OnDisconnected()未立即激发,c#,iframe,signalr,cors,disconnect,C#,Iframe,Signalr,Cors,Disconnect,我有一个部署在服务器上的信号聊天应用程序。用户看到的聊天框应由聊天应用程序在目标网站上的iframe中呈现 我在以下方面有问题: 已断开连接的任务(bool stopCalled) 如果聊天应用程序已启动并正在运行,并且与服务器建立了连接(对于管理员端),并且我关闭了选项卡,则OnDisconnected会立即被调用,stopCall=true 但是,从客户端页面(IIS中的一个单独网站)的端口81(而不是80)上,如果我连接并关闭窗口,则会延迟调用OnDisconnected,stopCall
- 在iframe中渲染
- 在不同的域上渲染
- 两者
我把一切都从iframe中拉了出来,这仍然在发生 您确定没有任何Javascript事件处理程序在admin案例中拦截页面卸载并在连接上显式调用
stop()
?您是否尝试进入信号器代码并在stop()
内设置断点以查看是否在那里被调用?只是想知道,stopCalled=true
位是可疑的。如果用户关闭浏览器或选项卡,stopCalled不是应该为true吗?奇怪的是,在同一场景中,当显式调用stop()
时,客户端的stopCalled
为真。请点击此处: