3

我在运行 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" />这行代码从类中省略时运行。

由此我只能假设我们正在调试模式下预编译应用程序。我会做一些进一步的调查,但看起来这毕竟可能不是环境配置问题。

4

0 回答 0