2

すべて、私は、従来の ASP と Crystal レポートを使用して、Web ページへのユーザー入力 (バックエンド DB を照会) に基づいてレポートを生成する Web サイトを持っています。レポートの実行に 30 分以上かかる場合、クライアントと Web サーバーの間にあるファイアウォールがアイドル状態のまま接続をドロップするため、レポートがユーザーに表示されません。これを回避するには、HTTP または TCP のいずれかのキープアライブを使用する必要があります。

IIS 6 上の Windows 2000 の Web サーバー。Windows で TCP キープアライブ用のレジストリ キーを作成しました (ネットワーク カードの TCP オフロード機能を無効にしましたが、これが問題を引き起こす可能性があると聞いています)。デフォルトでこれを使用します。TCP/IP Builder (www.drk.com.ar) と呼ばれるソケット テスターをサーバーにダウンロードしてテストしました。これにより、正常に動作するキープアライブのオンとオフを切り替えることができるため、サーバーがそれらを送信できることがわかります。

IIS で TCP キープアライブを強制的に使用する方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

4

IIS 設定ではなく、システム全体の OS 設定です。デフォルトでは、途方もなく長い 2 時間に設定されています (1989 年の TCP 仕様に基づく: https://www.rfc-editor.org/rfc/rfc1122#page-101)!ただし、レジストリの KeepAliveTime をより実用的な時間に変更できます (今日の通信の場合 - その前にタイムアウトを発見したため)

: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Tcpip\Parameters アダプタ名\Parameters\Tcpip

レジストリ エディタを使用して構成可能なオプション パラメータ これらのパラメータは通常、レジストリには存在しません。これらは、TCP/IP プロトコル ドライバーの既定の動作を変更するために作成される場合があります。

KeepAliveTime キー: Tcpip\Parameters 値の型: REG_DWORD - 時間 (ミリ秒) 有効な範囲: 1 - 0xFFFFFFFF デフォルト: 7,200,000 (2 時間) 説明: このパラメーターは、TCP がキープアライブを送信してアイドル状態の接続がまだ損なわれていないことを確認する頻度を制御します。パケット。リモート システムがまだ到達可能で機能している場合は、キープ アライブ送信を確認します。デフォルトでは、キープアライブ パケットは送信されません。この機能は、アプリケーションによる接続で有効にすることができます。

どの値を使用するかについては、私はまだ自分自身を見つけようとしています ( Keep Alive TCP/IP 接続ソケットをインターネット経由で - いつ? どのように? どれだけ? ) が、既知の 30 分 (私がちなみにv.ロングだと思います)。

于 2010-10-12T02:39:15.230 に答える
0

HTTP キープアライブの有効化 (IIS 6.0 )

于 2009-08-14T09:19:26.303 に答える