Answers:
将此添加到您的Web配置
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/zh-CN/library/e1f13641(v=vs.85).aspx
可选的TimeSpan属性。
指定允许请求在被ASP.NET自动关闭之前执行的最大秒数。
仅当编译元素中的debug属性为False时,此超时才适用。为帮助防止在调试时关闭应用程序,请勿将此超时设置为较大的值。
默认值为“ 00:01:50”(110秒)。
在IIS管理器中,右键单击该站点,然后转到管理 网站 -> 高级设置。在“ 连接限制”选项下,您应该看到“ 连接超时”。
要增加请求超时,请将其添加到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
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中,尽管添加并搜索配置后它确实会显示出来。
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秒,然后放在那里00:01:30)
如果是Tomcat(可能还有其他servlet容器),则必须记住在%TOMCAT_DIR%\ conf \ server.xml中更改超时(只需在Connector标记中搜索connectionTimeout属性,并记住以毫秒为单位指定)
使用以下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"