私は SignalR と MVC を使用して実行している単純なチャット クライアント プロジェクトを持っています。これはASP.Net Oneとほぼ同じです (実験中です - クライアント コードは同じです)。私は次のように配線して、物事が発生するのを監視しました。
$.connection.hub.stateChanged(function(state){console.log(state)});
接続は正常に機能していますが、IIS Express をシャットダウンして Chrome でコンソールを見ると、次のように表示されることに気付きました。
//As you would expect the state goes from connected to connecting
Object {oldState: 1, newState: 2}
//Then it times out after about 30 secs and throws this awesomeness at the console
WebSocket connection to 'ws://localhost:61623/signalr?transport=webSockets&connectionToken=VDF640emz7PFMToC6vxle_5-7QS5dZMszV4SPbQO7EFEmSSsITnwKsZreqfl4MGq8TXitG2xB5F-2ZdHp-2t3shPzN2hemTY1ZmEWlB8NOn5orUVexaSoARk9XjEO5B00&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&messageId=B%2C7%7CL%2C0%7CM%2C0%7CN%2C0&tid=0' failed: WebSocket is closed before the connection is established. jquery.signalR-1.0.1.js:1117
//Reconnecting to Disconnecting - so why the error above?
Object {oldState: 2, newState: 4}
//Then radio silence if I start IIS again...
2 つの質問:
再接続の試行が失敗したときのエラーを回避するにはどうすればよいですか?
SignalR が引き続き IIS への接続を試みないのはなぜですか? これがテクノロジーの要点であるという印象を受けました...
編集:FireFoxでも同じことが起こります