【发布时间】:2015-08-17 16:11:16
【问题描述】:
我的 SignalR 在我的主 PC 上运行良好,但是当我将我的项目转移到我的笔记本电脑并尝试运行它时,SignalR 在控制台中抛出以下错误。
Error: No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.
我尝试使用不同的版本都无济于事(2.2、2.1.2、2.0.3)。
我已经研究了该错误,但似乎没有一个解决方案与为什么该错误只会在一台 PC 上发生有关。有什么想法吗?
这是 signalR 的完整日志:
[11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Client subscribed to
hub 'tcardhub'.jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.4&connectionData=%5B%7B%22name%22%3A%22tcardhub%22%7D%5D'.
SignalRHubService.js:60 Error: No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.
at Object.signalR._.error (http://localhost:29858/Scripts/jquery.signalR-2.1.2.js:178:21)
at signalR.fn.signalR.start.initialize (http://localhost:29858/Scripts/jquery.signalR-2.1.2.js:553:50)
at Object.signalR.fn.signalR.start.connection._.negotiateRequest.signalR.transports._logic.ajax.success (http://localhost:29858/Scripts/jquery.signalR-2.1.2.js:765:21)
at n.Callbacks.j (https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js:2:26911)
at Object.n.Callbacks.k.fireWith [as resolveWith] (https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js:2:27724)
at x (https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js:4:11065)
at XMLHttpRequest.n.ajaxTransport.k.cors.a.crossDomain.send.b (https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js:4:14577)Hub.errorHandler @ SignalRHubService.js:60(anonymous function) @ jquery.signalR-2.1.2.js:836n.event.dispatch @ jquery.min.js:3n.event.add.r.handle @ jquery.min.js:3n.event.trigger @ jquery.min.js:3e.event.trigger @ jquery-migrate.min.js:2n.fn.extend.triggerHandler @ jquery.min.js:3signalR.fn.signalR.start.initialize @ jquery.signalR-2.1.2.js:558signalR.fn.signalR.start.connection._.negotiateRequest.signalR.transports._logic.ajax.success @ jquery.signalR-2.1.2.js:765n.Callbacks.j @ jquery.min.js:2n.Callbacks.k.fireWith @ jquery.min.js:2x @ jquery.min.js:4n.ajaxTransport.k.cors.a.crossDomain.send.b @ jquery.min.js:4
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Stopping connection.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Client subscribed to hub 'tcardhub'.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.4&connectionToken=U6E4eibrnyXgS%2FJWuNo5iwIy%2BU8S6x1w9Vh%2FDmthMMvFCw8g%2BX53Fq9f%2FlNdqyJIOW0j7uk8sZ4BwN4uP52QwpFNMjZJDUdZ2ZjeXLgSvSLUZmQ3L9fZLXYatHcs0bh2&connectionData=%5B%7B%22name%22%3A%22tcardhub%22%7D%5D'.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Attempting to connect to SSE endpoint 'http://localhost:29858/signalr/connect?transport=serverSentEvents&clientPro…2Bxa%2Fe2uZd4&connectionData=%5B%7B%22name%22%3A%22tcardhub%22%7D%5D&tid=8'.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: EventSource connected.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: serverSentEvents transport selected. Initiating start request.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: The start request succeeded. Transitioning to the connected state.
jquery.signalR-2.1.2.js:81 [11:49:30 GMT-0600 (Mountain Daylight Time)] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332 and a connection lost timeout of 20000.
错误发生在 IE 和 Chrome 中。我正在使用安全性更高的工作笔记本电脑,所以我认为可能有一些安全设置会破坏一些东西。
【问题讨论】:
-
您的浏览器似乎不适用于 WebSockets(我假设您没有更改传输选项)。尝试使用其他浏览器。另外,在客户端添加这行代码并在浏览器中打开控制台:`$.connection.hub.logging = true;` 以便了解发生了什么
-
感谢您的建议。我用完整的日志更新了帖子。
标签: javascript jquery signalr