我有一个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的执行超时.或者如果我们正在执行
异步调用页面代码,我们可以为异步调用设置超时
希望有帮助.