我正在尝试解决问题,但是我无法在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上的“备注”部分

10-02 01:33