我没有在hubConnection.start()
中指定任何传输,但我仍然遇到传输故障。
我使用的是IE 10和IIS 8.0。谁能告诉我什么是错的?
连接SignalR服务器的代码:
$(document).ready(function () {
var hubConnection = $.hubConnection("http://myserver.com:8031");
var notificationHub = hubConnection.createHubProxy("Notification");
hubConnection.logging = true;
notificationHub.on("calculationResultReceived", function (result) {
addLog("Time elapsed: " + result.timeElapsed + ", finalResult: " + result.finalResult+ ", ID: " + result.jobId);
}
});
hubConnection.start().done(function () {
notificationHub.invoke("Echo")
.done(function (msg) { addLog("Notification hub connection established successfully" + "\n" + msg); })
.fail(function (message) { addLog("Failed to register push channel"); });
}).fail(function (message) {
addLog("The connection cannot be established: " + message)
});
});
IE10的控制台日志:
[23:10:06 UTC + 0800] SignalR:客户订阅了中心“通知”。 [23:10:06 UTC + 0800] SignalR:谈判 'http://myserver.com:8031/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22notification%22%7D%5D&clientProtocol=1.3'。 [23:10:07 UTC + 0800] SignalR:此浏览器不支持SSE [23:10:07 UTC + 0800] SignalR:绑定到iframe的加载事件 [23:10:12 UTC + 0800] SignalR:foreverFrame在尝试时超时 连接。 [23:10:12 UTC + 0800] SignalR:永远停止帧。
[23:10:12 UTC + 0800] SignalR:打开长轮询请求 'http://myserver.com:8031/signalr/connect?transport=longPolling&connectionToken=c39XZZSbiQZDnXbf6vOm8zt8wTQrStyPg8qchxWFevyp9BN2yxslU6YAahRdrsy7W0LOc%2BW5FMfRhQe10o%2B2ihlprs9803heDkD2S1Qo4j8oI1kmUA5fPXoBlcP3Ygrk&connectionData=%5B%7B%22name%22%3A%22notification%22%7D%5D&tid=6'。 [23:10:17 UTC + 0800] SignalR:longPolling尝试时超时 连接。 [23:10:17 UTC + 0800] SignalR:中止xhr请求。
[23:10:17 UTC + 0800] SignalR:停止连接。 [23时10分17秒 UTC + 0800] SignalR:发射ajax abort async = true。
我检查了IIS8安装,并启用了 WebSocket 功能。但仍然是同样的错误,虽然错误消息有所改变。
答案 0 :(得分:0)
尝试禁用Visual Studio中的browserlink功能。要禁用浏览器链接,请单击浏览器链接下拉菜单,然后取消选中启用浏览器链接(Using Browser Link in Visual Studio 2013)。
(来源:github.com/SignalR,作者:netsrotr)