2

我们有一个 ASP.net Web 应用程序,其中有几个页面在页面加载时偶尔会超时(通常,这些都是管理类型的页面,它们会进行错误上传/下载并进行处理。)

解决方案之一是将 Session.Timeout 和 Server.ScriptTimeout 提高到非常大的数字 - 这很好。但是,这里有很多关于何时适用每种设置的讨论。说得委婉些,MSDN 页面可以解释。

谁能给我读者的摘要版本有什么区别,或者指向我们找不到的 MSDN 页面?

谢谢大家。

(II6 上的 .net 2.0,如果重要的话。)

作为一个额外的后续问题,在给定页面的 on_load() 函数中更改这些设置是否会更改整个应用程序或仅该页面的设置?

编辑:哎呀!我的意思是“Session.Timeout”而不是“Server.Timeout”。

4

2 回答 2

10

脚本超时控制代码可以运行多长时间来处理请求,因此您可以更改它以允许长时间运行的代码。IIS 管理器中的设置用于每个请求,Server.ScriptTimeout 属性用于当前请求,因此如果可能,您应该在代码中设置它,以便所有常规页面使用正常的脚本超时。

会话超时是用户最后一次发出请求后服务器上的会话对象存活的时间。IIS 管理器中的会话超时设置是创建的任何新会话的默认设置,您从代码访问的 Session.Timeout 属性是该特定会话的超时。默认会话超时为 20 分钟,您可以将其调高一点而不会带来太大风险,但您仍应将其保持在一个合理的值内,以免会话对象在内存中持续数天。

于 2009-03-03T21:45:39.110 回答
6

ScriptTimeout 是 ASP.NET 运行时等待来自 ASPX 页结果的秒数。

Session.Timeout 是 ASP.NET 等待的分钟数。

于 2009-03-03T21:31:57.020 回答