167

如何在 IIS 7.0 中增加请求超时?在 IIS 6.0 的 ASP 配置设置中的应用程序选项卡下也是如此。我在 IIS 7.0 中找不到 asp.net 配置部分

4

8 回答 8

200

将此添加到您的 Web 配置

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

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

可选的时间跨度属性。

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

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

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

于 2011-06-03T18:05:59.630 回答
82

在 IIS 管理器中,右键单击该站点并转到Manage Web Site -> Advanced Settings。在Connection Limits选项下,您应该看到Connection Time-out

于 2010-03-10T04:08:08.023 回答
53

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

于 2016-02-10T11:02:07.067 回答
30

在 IIS >= 7 中,一个<webLimits>部分已替换ConnectionTimeoutHeaderWaitTimeoutMaxGlobalBandwidthMinFileBytesPerSecIIS 6 元数据库设置。

示例配置:

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

供参考:有关 IIS中这些设置的更多信息,请参见此处。此外,我无法通过 IIS 管理器的“配置编辑器”将此部分添加到 web.config,尽管在我添加它并搜索配置后它确实出现了。

于 2012-12-13T13:28:04.147 回答
28

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

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

在此处输入图像描述

于 2018-06-24T14:38:47.820 回答
11

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

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

  • 转到服务器场-> {服务器名称} ->代理
  • 更改超时输入框中的值
  • 单击应用(右上角)

或者您可以在配置文件中更改它:

  • 打开%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属性,并记住它是以毫秒为单位指定的)

于 2013-01-24T15:02:41.797 回答
3

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

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

从这里

于 2021-02-23T18:55:11.433 回答
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" 
于 2017-06-26T20:06:32.180 回答