gpt4 book ai didi

asp.net-web-api - 应用程序池回收后无法重新连接 SignalR JS 客户端

转载 作者:行者123 更新时间:2023-12-04 05:01:35 24 4
gpt4 key购买 nike

当我为运行 SignalR 集线器的站点回收我的应用程序池时,javascript 客户端无法重新连接。但是如果客户端在他的浏览器上刷新,一切都会好起来的。

在客户端控制台日志中,这些行在应用程序池重置后每秒重复多次:(我已将连接 token 替换为 abcd )

LOGG: [15:51:19 UTC+0200] SignalR: Raising the reconnect event  
LOGG: [15:51:19 UTC+0200] SignalR: An error occurred using longPolling. Status = parsererror. undefined
LOGG: [15:51:19 UTC+0200] SignalR: SignalR: Initializing long polling connection with server.
LOGG: [15:51:19 UTC+0200] SignalR: Attempting to connect to 'http://lab/signalr/reconnect?transport=longPolling&connectionToken=abcd' using longPolling.
LOGG: [15:51:19 UTC+0200] SignalR: Raising the reconnect event

我尝试禁用集线器上的所有身份验证,但结果仍然相同。
服务器和客户端都在 SignalR v1.0.1 上运行

客户端上的 hubconnection 设置如下:
var connection = $.hubConnection('http://lab:8097', { logging: true });
var proxy = connection.createHubProxy('task');
connection.start({ jsonp: true }).done(function () {
proxy.invoke('OpenTask', id);
});

我也在服务器端集线器注册上使用跨域:
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });

服务器运行在IIS 7.5上,客户端是IE9。

任何人都知道出了什么问题?

最佳答案

此问题将在 1.1 RTW 中解决(尚未发布,目前只有 beta 版)。

供您引用,这里是修复程序:https://github.com/SignalR/SignalR/issues/1809 .如果您想更早地进行修复,您可以实现问题中指出的更改。

最后,如果您选择实现修复程序,您将需要处理连接上的 .disconnected 事件并完全重新启动连接。

关于asp.net-web-api - 应用程序池回收后无法重新连接 SignalR JS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com