2013-09-06 9 views
8

Configuration/Setup:Signalr: klient JavaScript braku połączyć się ponownie na IE (wyjątek parseerror)

  • Windows 7 64bit, .NET 4.5, Visual Studio 2012
  • Self-Host Signalr Server (app konsoli)
  • klient JavaScript

Tło:

Zaczynałem od this self host tutorial jako mojej bazy z końcowym celem konfiguracji serwera centralnego, z którym mogę się łączyć z różnymi domenami (CORS). Używam głównie wersji 2.0.0-rc1.

repo Kroki:

Kroki repo są łatwe. Przejdź do strony testowej (default.html) z dobrego IE (wersja 10) i poczekaj.

Oto klient zaloguje signalr szczegółowo co się dzieje:

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

Widać, że często zdarzają się błędy, a klient utrzymuje podłączając do momentu ponownego połączenia nie powiedzie się.

Jako bonus, Utworzyłem repro aplikacji, które można pobrać z usługi SkyDrive here

Jeśli ktoś ma jakiś wgląd do mojego problemu lub może wskazać mi w dobrym bezpośredni, czy miałoby to mój dzień.

[AKTUALIZACJA] Spośród 5 twórców, którzy próbowali odtworzyć za pomocą dołączonego kodu źródłowego, zero było w stanie odtworzyć.

Zakładam, że w tym momencie mój problem jest związany z moją maszyną (duh?). Przy takim założeniu, jaki element środowiskowy mógłby spowodować, że signalr/poll? Transport = longPolling request to "abort"?

+0

Czy korzystasz w ogóle z jakiegokolwiek oprogramowania antywirusowego? W niektórych przypadkach pojawiły się problemy z długimi żądaniami HTTP. W tym przypadku długa ankieta kończy się niepowodzeniem, ponieważ zwrócona odpowiedź nie jest poprawna JSON (lub puste), co oczywiście nie powinno się zdarzyć, ale pewna warstwa między twoją przeglądarką i serwerem może się wtrącać. –

Odpowiedz

0

Czy używasz programu Visual Studio jako administrator? Może to wynikać z uprawnień i Owina.

+0

Próbowałem tego – Drew

Powiązane problemy