IIS 7.0で要求タイムアウトを増やす方法は?IIS 6.0のASP構成設定のアプリケーションタブでも同じことが行われます。IIS 7.0でasp.net構成セクションが見つかりません
IIS 7.0で要求タイムアウトを増やす方法は?IIS 6.0のASP構成設定のアプリケーションタブでも同じことが行われます。IIS 7.0でasp.net構成セクションが見つかりません
回答:
これを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秒)です。
IISマネージャーで、サイトを右クリックし、[Web サイトの管理] -> [ 詳細設定]に移動します。[ 接続制限 ]オプションの下に、[ 接続タイムアウト ]が表示されます。
リクエストのタイムアウトを増やすには、これを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秒。
IIS> = 7において、<webLimits>
セクションが置き換えられているConnectionTimeout
、HeaderWaitTimeout
、MaxGlobalBandwidth
、およびMinFileBytesPerSec
6つのメタベース設定をIIS。
構成例:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
参考までに、IISのこれらの設定に関する詳細については、こちらを参照してください。また、IISマネージャーの「構成エディター」を使用してこのセクションをweb.configに追加できませんでしたが、追加して構成を検索すると表示されました。
ConnectionTimeout
httpRuntimeのではなくを置き換えexecutionTimeout
ます。
以下に、問題を修正するための手順を示します。
質問がASPに関するものであることはわかっていますが、誰かがこの回答が役立つと思うかもしれません。
IIS 7.5(Tomcatなど)の背後にサーバーがある場合。私の場合、Tomcatサーバーが構成されたサーバーファームがあります。このような場合、IISマネージャーを使用してタイムアウトを変更できます。
または、cofigファイルで変更できます。
例:
<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属性を検索し、ミリ秒単位で指定されていることを覚えておいてください)
以下の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"