超时分为服务端超时与客户端超时,任何的程序都可以作为客户端与服务端。
所以对于程序中的超时,不能简单的做单方面的处理。因为很有可能产生超时的原因是两个方面(即服务端与客户端)造成的。
超时参数 |
配置位置 |
默认值 |
单位 |
C/S |
描述 |
备注 |
executionTimeout |
Web.config ->httpRuntime ->executionTimeout |
1.0 和 1.1 中,默认值为 90。 2.0以上默认值为110秒 |
秒 |
S |
time in seconds before request is automatically timed out.全站Request请求超时时间单位秒。 |
debug=true的时候,系统默认是忽略web.config中超时设置的 |
IIS Connection timeout |
IIS Default Web Site控制界面可以设置"Connection timeout" |
120秒 |
秒 |
S |
IIS 全局Connection timeout |
|
Timeout |
WebService客户端代理程序 Timeout 属性 |
100000毫秒 |
毫秒 |
C |
WebService客户端代理程序 Timeout 属性,同步调用WebService的超时时间。 |
Timeout 属性设置为 Timeout.Infinite(=-1),则指示该请求无超时。即使 XML Web services 客户端可以将 Timeout 属性设置为无超时,Web 服务器仍可以在服务器端使请求超时。 系统将以上面两项设置的最小者作为操作超时的时间长度。 |
ScriptTimeout |
Server.ScriptTimeout |
90秒 |
秒 |
S |
单独页面的超时设置 |
PS:1. 切记系统异常报错的超时时间实际上是上述四个属性取最小值。
2.在特定情况下,即客户端设置超时时间小于服务端超时时间时,此时即使客户端报超时异常失败,然服务端依然有可能在执行中。