2017-05-12 6 views
0

私はSignalR for Web Socket機能を実装するMVC 5 Webアプリケーションを持っています。SignalRストリームは、プロダクションの強制リフレッシュ後にのみ動作します

プロダクションでは、Windows Server 2008とIIS 7.5に搭載されているため、接続されたクライアントはブラウザで強制的に更新を行った後にのみストリームを受信します。

これは、それが一度も開いていないマシンやブラウザでも複製されます。これはブラウザキャッシュの問題ではないと思います。

これは開発時には複製されません。

環境上のドメイン差もあります:

開発に私はlocalhostを使用:生産で61350

をファイルがルートから提供されていないので、私はmydomain.com/MyWebApp

を使用仮想パスを使用して提供されます。

この問題を解決する方法はありますか?

編集1:

問題が上に複製されることが確認されています

Google Chromeの Firefoxの オペラ エッジ サファリIOS

これらは、私はへのアクセス権を持っているし、作られたばかりのブラウザですのテスト。

+0

は、あなたが正確に誤りであるかを知るために、ブラウザでJavaScriptコンソールを確認することができますか? –

+0

問題が発生したときにエラーは発生しません。正常に動作した場合は、すべての更新が予期されたとおりにログに記録されます。 –

答えて

0

$(document).ready()からSignalR start()呼び出しを移動することでこの問題を解決できました。私はそれがなぜ問題を引き起こすのか分かりませんが、私の場合はそうでした。私は.NET 4.7を使用していますが(4.5 & 4.6を試しました)、jQuery 3.2.1を使用しています。

のみリフレッシュに動作します:すべての時間

<script> 
    $(document).ready(function() { 
     $.connection.hub.start().done(function() { 
      ... 
     }); 
    }); 
</script> 

作品:

<script> 
    $.connection.hub.start().done(function() { 
     ... 
    }); 
</script> 
関連する問題