我有一个aspx页面,其中包含在服务器上执行可能需要5分钟或更长时间的代码.所以我需要延长请求超时之前的时间.
将此放在网站的web.config中有什么区别:
并将其放在页面后面的代码中:
protected void Page_Load(object sender, EventArgs e) { Page.Server.ScriptTimeout = 600; }
Amarnath Bal.. 15
至于ASP.NET的
配置的executionTimeout设置
不是工作问题.关于这个属性的文档真的不是很清楚.问题是由以下原因引起的:
只有在web.config中将"debug"设置为false时,此设置才会生效,如:
设置为时"debug=true" mode
,运行时将忽略超时设置.
即使我们设置了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的执行超时.或者,如果我们在页面代码中执行异步调用,我们可以为异步调用设置超时
希望有所帮助
至于ASP.NET的
配置的executionTimeout设置<httpRuntime>
不是工作问题.关于这个属性的文档真的不是很清楚.问题是由以下原因引起的:
只有在web.config中将"debug"设置为false时,此设置才会生效,如:
设置为时"debug=true" mode
,运行时将忽略超时设置.
即使我们设置了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: //msdn.microsoft.com/en-us/library/system.web.httpserverutility.scripttimeout%28v=vs.110%29.aspx
该ScriptTimeout属性可以在被设置的Web.config文件通过设置executionTimeout元素的属性.使用ScriptTimeout属性以编程方式设置超时优先于Web.config设置.
我只是认为微软说"executionTimeout"与"ScriptTimeout"属性相同可能是有益的.