web-dev-qa-db-ja.com

IISでタイムアウトするASP.NETデバッグ

最終的に故障してヘルプを求めた場合、クライアント/ iis(どちらかわからない)は通常、デバッグ(コードのステップ実行)中に約30秒-1分後にタイムアウトします。より速く、より多くの間違いをします)IISデバッグセッションは完全に閉じます。セッション全体を再びウォームアップする必要があります。

デバッグセッションの時間を増やすための最良の方法は何ですか?

バニラ3.5 Webのデバッグサイト(アプリではない)IIS 7.5クラシックパイプライン

33
Aren

接続制限の設定は、十分に高く設定すると機能します。もう二度と気になりたくなかった。 ここ は私がしたことです:

これは、IISマネージャでIISアプリケーションプールが選択されていることを前提としています

... [詳細設定]ダイアログボックスで、[プロセスモデル]セクションを見つけ、次のいずれかの操作を実行します。

  1. Pingを有効に設定します。
  2. Pingの最大応答時間を90秒より大きい値に設定します。

[Pingを有効にする]をFalseに設定すると、IISがワーカープロセスがまだ実行されているかどうかのチェックを停止し、デバッグプロセスを停止するまでワーカープロセスを維持します。 Pingの最大応答時間を大きな値に設定すると、IISがワーカープロセスの監視を続行できます。

36
Nick DeVore

IISでアプリプールの設定を変更するのではなく、web.configのhttpRuntime executionTimeout属性を一時的に変更する必要があります。デフォルトは110秒ですが、通常は十分な時間ですが、デバッグしている場合はそうではありません。タイムアウトを長くすると、サーバーへのリクエストをより長く実行できます。

<system.web>
   <httpRuntime executionTimeout="360" />
</system.web>

これにより、6分(360秒)に設定されます。

デバッグが完了したら、属性を削除できます。IISはデフォルトに戻ります。

5
grahamesd

ScriptManager(たとえば、更新パネル)を使用している場合は、次のように設定された独自のタイムアウトを使用することに注意してください。

<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeout="???" ...
</asp:ScriptManager>

デバッグ時のみ高い値に設定することをお勧めします。これは、scriptmanagerコントロールが存在するページのpageloadイベントで行うことができます。

If Debugger.IsAttached Then
    ScriptManager1.AsyncPostBackTimeout = 600
End If
2
Alex