2010-06-02 68 views
2

我试图解决一个问题,但我无法在IIS本地重现它,因为无论我设置executionTimeout多低,请求永远不会超时。什么可能导致ASP.NET的executionTimeout不能在IIS下运行?

我试图通过在web.config(设置此,通过代码(Page.Server.ScriptTimeout = 5;)

我在释放模式进行编译的二进制文件,并运行调试=假在编译元素设置。

FWIW,卡西尼(独立开发的网络服务器)下,一切正常,运行了同一个目录的关闭完全相同的组件/配置文件。

任何想法这可能是什么造成的?

编辑:如果它是相关的,有问题的开发工作站运行Win7/IIS7。

编辑2:我使用反射写出HttpContext.Current.Timeout,并在卡西尼和IIS中,它写出我期望的值,所以它似乎是一个强制执行的极限问题被设置不正确。

+0

您如何使请求超时? – 2010-06-02 18:09:49

+0

无限循环,其中包含一个Thread.Sleep(1000)。 – Jay 2010-06-02 18:10:30

+0

你的第一个编辑说超时没有执行的机器是IIS7吗?你称之为开发工作站......是否将其部署在其他地方(使用不同的IIS?)? – davidsleeps 2010-06-18 04:47:49

回答

0

你的绝对正确<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

+0

http://msdn.microsoft.com/en-us/library/ms525225(v=vs.90).aspx至少90秒。 – iain 2011-06-08 11:15:01

相关问题