2

現在、SignalR と IIS/ASP.net 4 および友人 (MySQL など) との新しいチャットをテストしています。

SignalR を 2 つのクライアント (IE9、Chrome) または 1 つだけで使用でき、動作します。コードを使用したいくつかのアクション (更新、変更、更新など) の後、サーバーへの要求が数分間凍結されていることがわかります。作業したい場合は、IIS を再起動する必要があります。

IIS プロセスのダンプを取り、10 の開いている接続 poll.ashx/connect?transport=foreverFrame ....が数分間開かれたことを確認しました。(「runAllManagedModulesForAllRequests」を使用しないために ashx 拡張機能を使用しています。パフォーマンスが低下するため、役に立ちません)

私は試しGlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(30)て みGlobalHost.Configuration.KeepAlive = nullました。同じ問題。ダンプ リクエストが 2 分以上開いていることがわかります。

Windows 7 の IIS では実行中の要求が 10 個に制限されていることを知っているので、Fiddler を開いてすべてのセッションを中止しました。終了後も IIS がハングします。Fiddler を閉じようとしました (そして - TCP/HTTP 接続) - それでもハングします。

「失われた」接続を停止するにはどうすればよいですか? クライアント (Fiddler または Browser) が TCP/HTTP 接続を閉じましたが、IIS ではまだ有効です。

ハブは使いません。

ありがとう !

4

0 に答える 0