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


150

IIS 7.0で要求タイムアウトを増やす方法は?IIS 6.0のASP構成設定のアプリケーションタブでも同じことが行われます。IIS 7.0でasp.net構成セクションが見つかりません

回答:


182

これをWeb構成に追加します

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

https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx

オプションのTimeSpan属性。

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

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

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


8
これはIIS 7マネージャーのGUIから設定できますか?
Triynko

13
タイムアウトは秒単位で指定され、デフォルトは110秒です。注:このタイムアウトは、<compilation>要素のdebug属性がfalseに設定されている場合にのみ適用されます。
Jowen、2014年

1
@ジョウェン:あなたはロック!以前にデバッグをfalseに変更していて、受け取ったすべてのタイムアウトエラーに関連付けていませんでした。今私は知っている。
Doug S、

executionTimeoutの最大値は、TimeSpanの最大値(10675199.02:48:05.4775807)でもあることに注意してください。これは、...必要以上に
Antoine Pelletier

72

IISマネージャーで、サイトを右クリックし、[Web サイトの管理] -> [ 詳細設定]に移動します。[ 接続制限 ]オプションの下に、[ 接続タイムアウト ]が表示されます。


6
これはリクエストのタイムアウトと同じです。xmlドキュメントとreuqestタイムアウトからデータを移行しようとしています。したがって、接続タイムアウトを増やすと、これは解決されます。
Dotnet Rocks 2010

12
私はこれが正しいとは思わない、「HTTPキープアライブ」が有効になっている場合、このタイミング設定がそれに適用されます。つまり、接続が存続する時間の長さを意味します。これは「リクエストタイムアウト」に関連するとは思わない(iisが待機する時間) )ページの実行のために...
視覚的な

1
大きなファイルをアップロードする場合など、特定の状況ではこれが正しい答えだと思います。アップロードを待つ間
デビッドハモンド

45

リクエストのタイムアウトを増やすには、これを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秒。


3
場所に関する情報で+1を獲得しました
ゴンザオビエド2017年

非常に便利。ありがとう!
jim1427

29

IIS> = 7において、<webLimits>セクションが置き換えられているConnectionTimeoutHeaderWaitTimeoutMaxGlobalBandwidth、およびMinFileBytesPerSec6つのメタベース設定をIIS。

構成例:

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

参考までに、IISのこれらの設定に関する詳細については、こちらを参照してください。また、IISマネージャーの「構成エディター」を使用してこのセクションをweb.configに追加できませんでしたが、追加して構成を検索すると表示されました。


5
これはConnectionTimeouthttpRuntimeのではなくを置き換えexecutionTimeoutます。
user2864740

15

以下に、問題を修正するための手順を示します。

  1. IISを開きます
  2. サイト」オプションに移動します。
  3. マウスを右クリックします。
  4. 次に、プロパティ「Manage Web Site」を開きます。
  5. 次に、「詳細設定」をクリックします。
  6. セクション「展開接続制限を」、ここにあなたの「設定することができ、接続のタイムアウト

ここに画像の説明を入力してください


詳細については、リンク: docs.microsoft.com/en-us/previous-versions/dotnet/...
JPatel

11

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

IIS 7.5(Tomcatなど)の背後にサーバーがある場合。私の場合、Tomcatサーバーが構成されたサーバーファームがあります。このような場合、IISマネージャーを使用してタイムアウトを変更できます。

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

または、cofigファイルで変更できます。

  • %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秒に設定したい場合はそうそこ0時01分30秒を置きます)

Tomcat(およびおそらく他のサーブレットコンテナ)の場合、%TOMCAT_DIR%\ conf \ server.xmlでタイムアウトを変更することを忘れないでください(ConnectorタグでconnectionTimeout属性を検索し、ミリ秒単位で指定されていることを覚えておいてください)


2
質問に直接関連する回答のみを投稿してください。この質問は純粋にIISに関するものなので、Tomcatに関する情報を含む回答は実際には関係ありません。
Andrew Barber

9
ここで指定したユースケース(IIS Application Request Routingを使用して別のサーバーにルーティングする)はIISに関するものであるため、この場合の答えは適切だと思います。ここでの設定は、IISマネージャー内でも構成できます。FWIW、この回答は、どのリクエストタイムアウトを変更すべきかをトラブルシューティングするのに役立ちました。(IISマネージャーには多くのタイムアウト設定があるため)
Jensen Ching

3

以下のPowerシェルコマンドを使用して、実行タイムアウト(リクエストタイムアウト)を変更します。

デフォルトのWebサイトにこれを指定したことに注意してください。これらを使用する前に、サイトを変更してから、これを使用してみてください。

 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" 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.