web-dev-qa-db-ja.com

ページごとのレベルでASP.Netタイムアウトを増やす

単一のASP.netページのタイムアウトを増やすことは可能ですか?サーバーレベルでも可能ですが、ページレベルでも可能ですか?

読み込みに2〜3分かかる単一のレポートページにこれが必要です

何か案は?

31
ChrisCa

あなたが探しているのはScriptTimeoutだと思います。このようにページはめ込みを設定できます。

Page.Server.ScriptTimeout = 60;

タイムアウト値は秒単位です。

また、デバッグモードで実行している場合、これは無視され、タイムアウトが最大に設定されることに注意してください。とにかくそれはあなたにとって問題ではないと思います。タイムアウトを減少させるのではなく、増加させるのです。

30
Mark Bell

このページ と同様に、私も確認できますが、これを実現する別の良い方法は、これを構成のconfigSectionに追加することです。

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="600"/>      
    </system.web>    
  </location>

次に、maxRequestLength="204800"などの他の属性や、次のような他のセクションを追加することもできます。

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="6000" maxRequestLength="204800" />      
    </system.web>    
    <system.webServer>
      <security>
        <requestFiltering>
          <requestLimits maxAllowedContentLength="209715200" />
        </requestFiltering>
      </security>
    </system.webServer>
  </location>

お役に立てれば。

15
Krishnan

command.CommandTimeout = 100;の例を使用して、SQLタイムアウトを増やすことで問題が解決されたことがわかりました。

using (var connection = new SqlConnection(connectionString)) 
{
  connection.Open();
  SqlCommand command = new SqlCommand(queryString, connection);
  // Setting command timeout to 100 seconds
  command.CommandTimeout = 100;
  command.ExecuteNonQuery();
}
0