微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个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的< httpRuntime>的executionTimeout设置
配置不起作用.关于这个属性的文档真的不是很清楚.问题是由以下原因造成的:

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

当设置为“debug = true”模式时,运行时将忽略超时设置.

>即使我们设置了debug =“false”,executionTimeout仍然会有一些
当值非常小时延迟.事实上,我们建议不要
设置超时不到1.5分钟.当我们将超时设置为较少时
超过1分钟,延迟时间将从5秒到15秒.例如,
如果我们设置executionTimeout =“5”,页面可能需要15秒钟
暂停

Server.ScriptTimeout属性一个COM接口,用于经典ASP. ASP.NET的executionTimeout是在asp.net中替换ScriptTimeout,所以我们不再需要在asp.net中使用ScriptTimeout.

另外,至于
脚本总是在2秒后终止

我恐怕asp.net的运行时设置是没有办法的
asp.net的运行时请求处理管理无法达到这个级别
精度,2秒是一个太小的值,这可能会使性能
非常池监视这么小的间隔.如果我们确实需要让一个
某些处理超时,我们可以考虑把超时逻辑放在
以上应用程式代码级别.例如,如果我们执行sqlCommand,
我们可以设置sqlcommand的执行超时.或者如果我们正在执行
异步调用页面代码,我们可以为异步调用设置超时

希望有帮助.

原文地址:https://www.jb51.cc/aspnet/250772.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐