如何在IIS中增加请求超时?

时间:2010-03-10 04:03:46

标签: asp.net iis iis-7 web-config iis-7.5

如何在IIS 7.0中增加请求超时?在IIS 6.0中的ASP配置设置中的应用程序选项卡下完成相同的操作。我无法在IIS 7.0中找到asp.net配置部分

8 个答案:

答案 0 :(得分:166)

将其添加到您的Web配置

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

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

  

可选的TimeSpan属性。

     

指定允许请求的最大秒数   在被ASP.NET自动关闭之前执行。

     

此超时仅适用于编译中的debug属性   元素是假的。帮助防止关闭应用程序   在调试时,不要将此超时设置为较大的值。

     

默认为“00:01:50”(110秒)。

答案 1 :(得分:66)

在IIS管理器中,右键单击该站点并转到管理Web 站点 - &gt; 高级设置。在连接限制选项下,您应该会看到连接超时

答案 2 :(得分:34)

要增加请求超时,请将其添加到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 :(得分:27)

在IIS&gt; = 7中,<webLimits>部分已替换ConnectionTimeoutHeaderWaitTimeoutMaxGlobalBandwidthMinFileBytesPerSec IIS 6元数据库设置。

示例配置:

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

供参考:有关IIS can be found here中这些设置的详细信息。此外,我无法通过IIS管理器的“配置编辑器”将此部分添加到web.config,但是一旦我添加它并搜索了配置,它就会显示出来。

答案 4 :(得分:9)

我知道问题是关于ASP的,但也许有人会觉得这个答案很有帮助。

如果IIS 7.5后面有服务器(例如Tomcat)。在我的情况下,我有一个配置了Tomcat服务器的服务器场。 在这种情况下,您可以使用IIS管理器更改超时:

  • 转到服务器场 - &gt; {服务器名称} - &gt;的代理
  • 更改超时条目框中的值
  • 点击应用(右上角)

或者您可以在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秒,则将其设置为00:01:30)

对于Tomcat(可能还有其他servlet容器),你必须记住在%TOMCAT_DIR%\ conf \ server.xml 中更改超时(只需搜索 connectionTimeout 连接器标记中的strong>属性,并记住它是以毫秒指定的

答案 5 :(得分:6)

下面提供了解决问题的步骤。

  1. 打开您的IIS
  2. 转到“ 站点”选项。
  3. 右键单击鼠标。
  4. 然后打开属性“ 管理网站”。
  5. 然后单击“ 高级设置”。
  6. 展开“ 连接限制”部分,您可以在此处设置“ 连接超时

enter image description here

答案 6 :(得分:3)

使用以下Power shell命令更改执行超时(请求超时)

  

请注意,在使用之前,我已将其用于默认网站   这些请更改网站,然后尝试使用它。

 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" 

答案 7 :(得分:0)

对于 AspNetCore,它看起来像这样:

FIREBASE_CONFIG

From here