【发布时间】:2013-04-11 20:49:00
【问题描述】:
当我为运行 SignalR 集线器的站点回收应用程序池时,javascript 客户端无法重新连接。但是,如果客户端在他的浏览器上进行刷新,一切都会好起来的。
在客户端控制台日志中,这些行在应用程序池重置后每秒重复多次:(我已将连接令牌替换为 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。
有人知道怎么了?
【问题讨论】:
标签: asp.net-web-api signalr signalr-hub