我们有一个 ASP.net web 应用程序,其中有几个页面偶尔会在页面加载时超时(通常,这些都是管理类型的页面,会在处理过程中上传/下载错误。)
解决方案之一是将 Session.Timeout 和 Server.ScriptTimeout 都增加到非常大的数字 - 这很好用。但是,这里有很多关于每种设置何时适用的讨论。委婉地说,MSDN 页面可以解释。
任何人都可以给我读者摘要版本的区别是什么,或者指出我们找不到的 MSDN 页面吗?
谢谢大家。
(II6 上的 .net 2.0,如果重要的话。)
作为附加的后续问题,更改给定页面的 on_load() 函数中的这些设置是否会更改整个应用程序或仅该页面的设置?
编辑:哎呀!我的意思是“Session.Timeout”而不是“Server.Timeout”。
最佳答案
脚本超时控制代码可以运行多长时间来处理请求,因此您可以更改它以允许长时间运行代码。 IIS 管理器中的设置用于每个请求,而 Server.ScriptTimeout 属性用于当前请求,因此如果可能,您应该在代码中设置它,以便所有常规页面使用正常的脚本超时。
session 超时是指用户最后一次请求后,服务器上的 session 对象存活的时间。 IIS 管理器中的 session 超时设置是创建的任何新 session 的默认设置,您从代码访问的 Session.Timeout 属性是该特定 session 的超时。默认的 session 超时是 20 分钟,您可以稍微提高它而不会冒任何大的风险,但您仍应将其保持在一个合理的值内,以免 session 对象在内存中持续数天。
关于.net - Session.Timeout 和 Server.ScriptTimeout 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608174/