web-dev-qa-db-ja.com

IISでリクエストのタイムアウトを増やす方法

IIS 7.0でリクエストのタイムアウトを増やす方法ASP 6.0のIIS構成設定の[アプリケーション]タブでも同様です。 IIS 7.0にasp.net設定セクションが見つかりません

135
Dotnet Rocks

これをあなたのWeb設定に追加してください

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

https://msdn.Microsoft.com/ja-jp/library/e1f13641(v = vs85).aspx

オプションのTimeSpan属性。

ASP.NETによって自動的にシャットダウンされるまでに、要求の実行が許可される最大秒数を指定します。

このタイムアウトは、compilation要素のdebug属性がFalseの場合にのみ適用されます。デバッグ中にアプリケーションをシャットダウンしないようにするには、このタイムアウトを大きな値に設定しないでください。

デフォルトは "00:01:50"(110秒)です。

167
Jeff Doolittle

IISマネージャで、サイトを右クリックしてWebの管理サイト - > 詳細設定に移動します。 Connection Limitsオプションの下に、Connection Time-outと表示されるはずです。

66
Greg Shackles

リクエストのタイムアウトを増やすには、これをweb.configに追加します。

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

そして特定のページのためにこれを加えなさい

<location path="somefile.aspx">
    <system.web>
        <httpRuntime executionTimeout="180"/>
    </system.web>
</location>

.NET 1.xのデフォルトは90秒です。

.NET 2.0以降のデフォルトの110秒。

34
Rae Lee

IIS> = 7では、<webLimits>セクションがConnectionTimeoutHeaderWaitTimeoutMaxGlobalBandwidth、およびMinFileBytesPerSec IIS 6のメタベース設定を置き換えました。

設定例:

<configuration>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00"
         dynamicIdleThreshold="150"
         headerWaitTimeout="00:00:30"
         minBytesPerSecond="500"
      />
   </system.applicationHost>
</configuration>

参考のために、IIS のこれらの設定に関する詳細な情報はここ にあります。また、IISマネージャの "設定エディタ"でこのセクションをweb.configに追加することはできませんでした。追加して設定を検索すると表示されました。

27
AndrewPK

質問がASPに関するものであったことを私は知っていますが、誰かがこの回答が役に立つと思うかもしれません。

IIS 7.5の背後にサーバーがある場合(例Tomcat)私の場合、Tomcatサーバーが構成されたサーバーファームがあります。そのような場合、IIS Managerを使ってタイムアウトを変更できます。

  • サーバーファーム - > {サーバー名} - > プロキシに移動します。
  • タイムアウト入力ボックスの値を変更します。
  • クリック適用(右上隅)

あるいは、cofigファイルで変更することもできます。

  • open%WinDir%\ System32\Inetsrv\Config\applicationHost.config
  • 次のように、サーバーwebFarmの設定を調整します。

例:

<webFarm name="${SERVER_NAME}" enabled="true"> 
  <server address="${SERVER_ADDRESS}" enabled="true">
    <applicationRequestRouting httpPort="${SERVER_PORT}" />
  </server>
  <applicationRequestRouting>
    <protocol timeout="${TIME}" />
  </applicationRequestRouting>
</webFarm>

$ {TIME}HH:mm:ssという形式です(したがって、90秒に設定したい場合は00:01:30を使用してください)。

Tomcat(そしておそらく他のサーブレットコンテナ)の場合には、タイムアウトを忘れずに変更しなければなりません。 %Tomcat_DIR%\ conf\server.xml (ConnectorタグでconnectionTimeout属性を検索し、ミリ秒で指定されていることを忘れないでください)

10
Paweł Grześ

以下は、問題を解決するための手順です。

  1. あなたのIISを開く
  2. [サイト]オプションに移動します。
  3. マウスを右クリック.
  4. 次にプロパティ「Webサイトの管理」を開きます。
  5. 次に「事前設定」をクリックしてください。
  6. 接続制限」セクションを展開すると、ここで「接続タイムアウトを設定できます "

enter image description here

7
Anjan Kant

以下のPower Shellコマンドを使用して実行タイムアウト(Request Timeout)を変更します

私はこれらを使用する前にサイトを変更してからこれを使用するようにしてください。

 Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"

または、以下のC#コードを使用して同じことを実行できます

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {

        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetWebConfiguration("Default Web Site");

            ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
            httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");

            serverManager.CommitChanges();
        }
    }
}

あるいは、JavaScriptを使ってこれを行うこともできます。

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";

adminManager.CommitChanges();

または、AppCmdコマンドを使用できます。

appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 
3
Suraj Dixit