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

Asp.net 如何在IIS中增加请求超时?,asp.net,iis,iis-7,web-config,iis-7.5,Asp.net,Iis,Iis 7,Web Config,Iis 7.5,如何在IIS 7.0中增加请求超时?在IIS 6.0中的ASP配置集TNGS的“应用程序”选项卡下也可以执行相同的操作。我在IIS 7.0中找不到asp.net配置部分。在IIS管理器中,右键单击该站点并转到管理Web站点->高级设置。在连接限制选项下,您应该看到连接超时将此添加到您的Web配置中 <system.web> <httpRuntime executionTimeout="180" /> </system.web> 可选的TimeS

如何在IIS 7.0中增加请求超时?在IIS 6.0中的ASP配置集TNGS的“应用程序”选项卡下也可以执行相同的操作。我在IIS 7.0中找不到asp.net配置部分。在IIS管理器中,右键单击该站点并转到管理Web站点->高级设置。在连接限制选项下,您应该看到连接超时

将此添加到您的Web配置中

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

可选的TimeSpan属性

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

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

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

在IIS>=7中,一个
节替换了
连接超时
头部等待超时
最大全局带宽
最小文件字节数Persec
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,尽管在我添加并搜索配置后,它确实显示出来。

我知道问题是关于ASP的,但也许有人会发现此答案很有帮助

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

  • 转到服务器场->{Server Name}->代理
  • 更改超时输入框中的值
  • 单击应用(右上角)
或者您可以在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中更改超时(只需在Connector标记中搜索connectionTimeout属性,并记住它是以毫秒指定的

要增加请求超时,请将此添加到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秒。

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

请注意,在使用之前,我为默认网站提供了此选项 请更改这些站点,然后尝试使用此站点

或者,您可以使用下面的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.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 
或者,您可以使用AppCmd命令。

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.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 

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

  • 打开你的IIS
  • 转到“站点”选项
  • 鼠标右键单击
  • 然后打开属性“管理网站”
  • 然后单击“高级设置”
  • 展开“连接限制”部分,在这里您可以设置“连接超时”

  • 对于AspNetCore,它看起来如下所示:

    <aspNetCore requestTimeout="00:20:00">
    

    与请求超时相同。我正在尝试从xml文档迁移数据,并且reuqest超时。因此,如果我增加连接超时,这将得到解决。我不认为这是正确的,如果启用了“HTTP保持活动”,则此计时设置适用于它,这意味着连接将保持活动的时间,我认为这与“请求超时”(iis等待页面执行的时间)无关…我认为这在某些情况下是正确的答案,比如上传一个大文件。等待上载时,是否可以从IIS 7管理器GUI设置此设置?超时以秒为单位指定,默认值为110秒。注意:仅当元素中的debug属性设置为false时,此超时才适用@乔文:你太棒了!几天前,我将debug更改为false,并且没有将它与我收到的所有超时错误关联起来。现在我知道了。注意executionTimeout的最大值也是TimeSpan(10675199.02:48:05.4775807)的最大值,它是。。。请注意,你应该只发布与所问问题直接相关的答案。因为这个问题纯粹是关于IIS的,所以包含Tomcat信息的答案实际上是不相关的。在这种情况下,我认为答案是相关的,因为这里指定的用例(使用IIS应用程序请求路由到另一台服务器)是关于IIS的。这里的设置也可以在IIS管理器中配置。FWIW,这个答案帮助我解决了应该更改哪个请求超时的问题。(因为IIS管理器中有很多超时设置)这将替换
    连接超时
    ,而不是httpRuntime的
    执行超时
    。有关locationlink的详细信息,您已获得+1: