我正在尝试解决问题,但是我无法在IIS下在本地重现它,因为无论我将executionTimeout设置得多么低,请求都不会超时。
我尝试通过web.config(通过代码(Page.Server.ScriptTimeout = 5;)进行设置。
我正在使用在发布模式下编译的二进制文件运行,并且在编译元素中设置了debug = false。
FWIW在Cassini(独立的开发Web服务器)下,一切正常,在完全相同的Assembly / config文件之外的同一目录中运行。
关于什么原因的任何想法?
编辑:如果相关,则有关的开发工作站正在运行Win7 / IIS7。
编辑2:我正在使用反射来写出HttpContext.Current.Timeout,并且在Cassini和IIS中,它都写出了我期望的值,因此似乎是强制执行限制而不是被错误地设置的问题。
最佳答案
您的绝对正确,此处要求<compilation debug="false"/>
。<httpRuntime executionTimeout="45" />
到您的web.config。该值以秒为单位。
MSDN参考在这里http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.executiontimeout.aspx
另外,值得注意的是,Server.ScriptTimeout
具有从配置数据库继承的范围限制器。请参阅http://msdn.microsoft.com/en-us/library/ms524831(v=vs.90).aspx上的“备注”部分