2013-09-06 35 views
8

cấu hình/Cài đặt:Signalr: client JavaScript thất bại trong việc kết nối lại trên IE (parseerror ngoại lệ)

  • Windows 7 64bit, Net 4.5, Visual Studio 2012
  • tự chủ Signalr Server (giao diện điều khiển ứng dụng)
  • JavaScript client

Bối cảnh:

Tôi bắt đầu với this self host tutorial làm cơ sở của mình với mục tiêu cuối cùng là định cấu hình máy chủ trung tâm mà tôi có thể kết nối với các tên miền (CORS). Tôi đang sử dụng chủ yếu là phiên bản 2.0.0-rc1.

Repo bước:

Các bước repo là dễ dàng. Điều hướng đến trang thử nghiệm (default.html) từ tốt 'ol IE (phiên bản 10) và chờ.

Dưới đây là các bản ghi signalr khách hàng chi tiết những gì xảy ra:

[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. 

Bạn có thể thấy rằng lỗi tiếp tục xảy ra và khách hàng giữ kết nối lại cho đến khi tái kết nối thất bại.

Như một phần thưởng, tôi đã tạo ra một ứng dụng repro mà bạn có thể tải về từ SkyDrive here

Nếu ai có một số cái nhìn sâu sắc đến vấn đề của tôi hoặc có thể chỉ cho tôi quyền trực tiếp, nó sẽ làm cho ngày của tôi.

[CẬP NHẬT] Trong số 5 nhà phát triển đã cố gắng tạo lại thông qua mã nguồn được bao gồm, không thể tái tạo.

Tôi giả định vào thời điểm này vấn đề của tôi là dành riêng cho máy của tôi (duh?). Với giả định này, yếu tố môi trường nào có thể gây ra tín hiệu/thăm dò ý kiến? Transport = longPolling request to "abort"?

+0

Bạn có đang chạy bất kỳ loại phần mềm diệt vi rút nào không? Chúng tôi đã thấy rằng các sự cố gây ra trong một số trường hợp với yêu cầu HTTP chạy dài. Trong trường hợp này, cuộc thăm dò dài không thành công vì phản hồi trả về không hợp lệ JSON (hoặc trống), điều này rõ ràng không nên xảy ra nhưng một số lớp giữa trình duyệt của bạn và máy chủ có thể đang can thiệp. –

Trả lời

0

Điều này có thể giúp bạn:

https://github.com/SignalR/SignalR/issues/1557

Lưu ý nhận xét từ các tác giả: "Đây không phải là một lỗi Đó là thiết kế dành chúng tôi đã chọn Thay đổi này cho một gợi ý.."

0

Bạn có đang chạy Visual Studio làm Quản trị viên không? Nó có thể liên quan đến quyền và Owin.

+0

Tôi đã thử điều này – Drew

Các vấn đề liên quan