.net - Session.Timeout 和 Server.ScriptTimeout 有什么区别?

标签 .net asp.net timeout

我们有一个 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/

相关文章:

javascript - 如何在超时期间更改多个元素的 css? (多个进度条)

python - 使用python请求增加504超时之前的时间

ruby-on-rails - Rescue_from 不会从 View 或助手中拯救 Timeout::Error

.net - 有没有办法使用 LDAP 只获取前 N 个搜索结果?

.net - 使用 CType Int32?到 Int64? - System.InvalidCastException : Specified cast is not valid

c# - Azure 上 ASP.NET Core 1.0 Web Kestrel 应用程序的配置

javascript - 如何在 IE8 及以上版本中使用 History.back()

c# - 在 LINQPad 中刷新 DataContext

c# - 奇怪的 FolderBrowserDialog 行为

c# - 具有XML数据源的Ext.NET GridPanel