我遇到的问题是脚本没有在运行ASP.NET 4.5 Web应用程序的实时服务器上超时。
应用程序的web.config有<compilation debug="false" />
,并且没有设置<httpRuntime executionTimeout="" />
值。 machine.config没有任何值。
所以从理论上讲,脚本应该在默认的110秒内超时。
但是,在实时服务器上输出Server.ScriptTimeout的值会显示该值为30000000秒,这是<compilation debug="true" />
时设置的默认值。
我可以确认ScriptTimeout还没有设置在代码的任何地方。
是否有其他地方可以设置此值或在某处覆盖值?也许在IIS的某个地方?我看过IIS的配置,没有什么能让我高兴。
非常感谢
更新
按照Jim Mischel的链接(感谢)解压缩在我们的实时服务器上运行的预编译程序集的指示后,我发现30000000的ScriptTimeout实际上已放入WebForm页面类的构造函数中。
[DebuggerNonUserCode]
public ProblemPage_aspx()
{
// Initialisation code
base.Server.ScriptTimeout = 30000000;
}
当以<compilation debug="false" />
运行时,这一行代码将从类中省略。
由此我只能假设我们在调试模式下预编译应用程序。我会做进一步的调查,但看起来这可能不是环境配置问题。