信号器:JavaScript客户端无法在IE上重新连接(parseerror异常)

信号器:JavaScript客户端无法在IE上重新连接(parseerror异常),javascript,.net,signalr,Javascript,.net,Signalr,配置/设置: Windows 7 64位.Net 4.5,Visual Studio 2012 自主机信号器服务器(控制台应用程序) JavaScript客户端 背景: 我以配置一个可以跨域连接的集线器服务器(COR)作为我的最终目标。我主要使用的是2.0.0-rc1版本 回购步骤: 回购步骤很简单。从good'ol IE(版本10)导航到测试页面(default.html),然后等待 以下是信号器客户端日志,详细说明了发生的情况: [21:47:30 PDT] SignalR: Auto

配置/设置:

  • Windows 7 64位.Net 4.5,Visual Studio 2012
  • 自主机信号器服务器(控制台应用程序)
  • JavaScript客户端
背景:

我以配置一个可以跨域连接的集线器服务器(COR)作为我的最终目标。我主要使用的是2.0.0-rc1版本

回购步骤:

回购步骤很简单。从good'ol IE(版本10)导航到测试页面(default.html),然后等待

以下是信号器客户端日志,详细说明了发生的情况:

[21:47:30 PDT] SignalR: Auto detected cross domain url. 
 [21:47:30 PDT] SignalR: Client subscribed to hub 'selfieserver'. 
 [21:47:30 PDT] SignalR: Negotiating with 'http://localhost:8889/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&clientProtocol=1.3'. 
 [21:47:31 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/connect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=8'. 
 [21:47:31 PDT] SignalR: Long poll complete. 
 [21:47:31 PDT] SignalR: LongPolling connected. 
 [21:47:31 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/poll?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=4'. 
 [21:48:01 PDT] SignalR: An error occurred using longPolling. Status = parsererror.  Response = undefined. 
 [21:48:04 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/reconnect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=0'. 
 [21:48:05 PDT] SignalR: Raising the reconnect event 
 [21:48:35 PDT] SignalR: An error occurred using longPolling. Status = parsererror.  Response = undefined. 
 [21:48:38 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/reconnect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=1'. 
 [21:48:41 PDT] SignalR: Raising the reconnect event 
 [21:49:08 PDT] SignalR: An error occurred using longPolling. Status = parsererror.  Response = undefined. 
 [21:49:11 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/reconnect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=7'. 
 [21:49:18 PDT] SignalR: Raising the reconnect event 
 [21:49:42 PDT] SignalR: An error occurred using longPolling. Status = parsererror.  Response = undefined. 
 [21:49:45 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/reconnect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=9'. 
 [21:50:00 PDT] SignalR: Raising the reconnect event 
 [21:50:15 PDT] SignalR: An error occurred using longPolling. Status = parsererror.  Response = undefined. 
 [21:50:18 PDT] SignalR: Opening long polling request to 'http://localhost:8889/signalr/reconnect?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAAIkua2h4902EBFsaUr1NkAAAAAACAAAAAAADZgAAwAAAABAAAADId6sPY7u1b7U4MSyyjEGgAAAAAASAAACgAAAAEAAAAPbquY3AwSaeBDURBcXbiv8oAAAA5cpbDNk5rm0qDdq6nDWpqiazmTL4R%2Bv%2FI%2FSzcW1eAI71AkllpeDIKxQAAAAfYvObLT5lU2OeXpUvdjR%2B%2BLpotQ%3D%3D&messageId=d-4213A9B0-B%2C0%7CU%2C0%7CV%2C1%7CW%2C0&connectionData=%5B%7B%22name%22%3A%22selfieserver%22%7D%5D&tid=8'. 
 [21:50:45 PDT] SignalR: Couldn't reconnect within the configured timeout (30000ms), disconnecting. 
 [21:50:45 PDT] SignalR: Stopping connection. 
 [21:50:45 PDT] SignalR: Aborted xhr requst. 
您可以看到错误不断发生,客户端不断重新连接,直到重新连接失败

作为奖励,我创建了一个可从skydrive下载的复制应用程序

如果有人对我的问题有一些见解,或者能直接给我指出正确的方向,这会让我大开眼界

[更新] 在5个试图通过包含的源代码进行复制的开发人员中,没有人能够进行复制

我假设此时我的问题特定于我的机器(duh?)。在此假设下,是什么环境因素导致signalr/poll?transport=longPolling请求“中止”?

这可能有助于您:

请注意作者的评论:
“这不是错误。这是我们选择的预期设计。将其更改为建议。”

您是否以管理员身份运行Visual Studio?这可能与权限和Owin有关。

您是否运行任何类型的防病毒软件?我们已经看到,在某些情况下,长时间运行的HTTP请求会导致问题。在这种情况下,长轮询失败,因为返回的响应不是有效的JSON(或空白),这显然不应该发生,但浏览器和服务器之间的某个层可能会干扰。