gpt4 book ai didi

asp.net - executionTimeout 和 Server.ScriptTimeout 之间的区别

转载 作者:行者123 更新时间:2023-12-02 01:29:48 30 4
gpt4 key购买 nike

我有一个 aspx 页面,其中包含的代码可能需要 5 分钟或更长时间才能在服务器上执行。所以我需要在请求超时之前延长时间。

将其放入网站的 web.config 中有何区别:

<location path="~/MyPage.aspx">
<system.web>
<httpRuntime executionTimeout="600"/>
</system.web>
</location>

并将其放入页面后面的代码中:

protected void Page_Load(object sender, EventArgs e)
{
Page.Server.ScriptTimeout = 600;
}

最佳答案

至于 ASP.NET 的 executionTimeout 设置 <httpRuntime>配置不起作用的问题。关于这个属性的文档确实不是很清楚。该问题是由以下原因引起的:

  1. 只有当我们将“debug”设置为 false 时,此设置才会生效web.config ,例如:

当设置为 "debug=true" mode 时,运行时将忽略超时设置。

  1. 即使我们设置了 debug="false" ,executionTimeout仍然会有一些当值很小时延迟。事实上,建议我们不要将超时设置为小于 1.5 分钟。当我们将超时设置得更短时超过 1 分钟,延迟将从 5 秒到 15 秒不等。例如,如果我们设置executionTimeout=“5”,页面可能需要大约15秒超时。

Server.ScriptTimeout 属性是经典 ASP 中使用的 COM 接口(interface)。 ASP.NET的executionTimeout是对asp.net中ScriptTimeout的替代,因此我们不再需要在asp.net中使用ScriptTimeout。

此外,至于让脚本始终在 2 秒后终止

恐怕 asp.net 的运行时设置中没有任何方法,因为asp.net的运行时请求处理管理达不到这个水平精度,2秒是一个太小的值,可能会影响性能非常池监控这么小的间隔。如果我们确实需要让一定的处理超时,我们可以考虑将超时逻辑放在高于应用程序代码级别。例如,如果我们正在执行 SqlCommand ,我们可以设置sqlcommand的执行超时。或者如果我们正在执行一个页面代码中的异步调用,我们可以为异步调用设置一个超时时间

希望有帮助。

关于asp.net - executionTimeout 和 Server.ScriptTimeout 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20901388/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com