2010-03-10 41 views

回答

60

在IIS管理器中,右键单击该站点并转到管理网站 - >高级设置。在那里,在连接限制下你应该看到连接超时。

+3

是否与请求超时相同。我正在尝试从xml文档和reuqest超时迁移数据。所以如果我增加连接超时,这将得到解决。 – 2010-03-10 20:24:57

+7

我不认为这是正确的,如果'HTTP Keep-Alive'被启用,那么这个时间设置适用于它,这意味着连接将持续多久,我不认为这是'请求超时'(多久iis等待执行一个页面).. – visual 2012-08-30 05:12:37

+0

我认为这是在某些情况下正确的答案,如上传一个大文件。在等待上传时, – 2014-03-24 18:41:48

125

添加到您的Web配置

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

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

可选的TimeSpan属性。

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

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

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

+6

可以从IIS 7管理器GUI设置吗? – Triynko 2012-10-09 08:19:12

+3

这也适用于IIS6以及 – banging 2013-04-16 15:27:54

+10

超时时间以秒为单位指定,默认值为110秒。注意:仅当元素中的debug属性设置为false时,此超时才适用! – Jowen 2014-11-28 08:13:57

21

在IIS> = 7,<webLimits>部已经取代ConnectionTimeoutHeaderWaitTimeoutMaxGlobalBandwidth,和MinFileBytesPerSec 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中,尽管在添加它并搜索配置后它确实显示。

+2

这取代'ConnectionTimeout',而不是httpRuntime的'executionTimeout'。 – user2864740 2016-12-07 20:21:27

10

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

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

  • 服务器农场 - >{服务器名称} - >代理
  • 变化在时间 - 价值出输入框
  • 点击应用(右上角)

,或者你可以在cofig文件进行更改:

  • 开放%WINDIR%\ SYSTEM32 \ INETSRV \ CONFIG \ applicationHost。配置
  • 调整服务器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属性连接器标记,并记住它是在毫秒

+2

请注意,您只应发布与问题直接相关的答案。由于这个问题纯粹是关于IIS的,所以关于Tomcat的信息的答案确实不相关。 – 2013-01-24 15:08:51

+8

在这种情况下,我认为答案是相关的,因为这里指定的用例(使用IIS应用程序请求路由路由到另一个服务器)是关于IIS的。这里的设置也可以在IIS管理器中配置。 FWIW,这个答案帮助我排除了我应该改变的请求超时。 (由于IIS管理器中有很多超时设置) – 2013-03-26 09:42:14

22

要增加请求超时内容加入到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秒。

+1

您已通过有关位置的信息获得+1 – 2017-03-30 17:25:03

3

使用下面的电源外壳命令使用 这些请更改网站,然后尝试前更改执行超时(请求超时)

请注意,我已经给这个默认的Web站点,使用这个。

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40" 

或者,您可以使用下面的C#代码,做同样的事情

​​

或者,您可以使用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"