Jul 10
写后台的WebService的时候,常常碰到大规模的后台网络访问,客户端发来一个请求,程序需要处理很长时间。比如,我的代理验证程序就是这样。此时,如果禁用了web.config中的Debug模式,就会发生超时。原因来自web.config的一个设置:httpRuntime下的executionTimeout。
MSDN对此的解释:
executionTimeout 可选的 TimeSpan 属性。 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。 只有当 compilation 元素中的调试属性为 False 时,此超时属性才适用。若要帮助避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。 注意 在 .NET Framework 1.0 版和 1.1 版中,默认值为 90。 默认值为“00:01:50”(110 秒)。
事实上,最后一句话是错误的,写成这种时间格式不能通过编译,必须写成整数形式的秒。
知道了问题所在,只要修改一下这个设置即可,改成
<system .web> <httpruntime executionTimeout="600"/> </system>
即可设置超时为600秒,对我的代理验证程序足够了
Related posts:
Recent Comments