似乎有很多地方可以更改 ASP.NET 应用程序的 session 超时。例如,
- 在包含应用程序的应用程序池级别,
- 在包含所有 appPool 的应用程序池节点级别,
- 在网站属性对话框的 ASP.NET 选项卡中,编辑配置,
- 在网站属性对话框的 ASP.NET 选项卡中,编辑全局配置,
- 在应用程序的 web.config 中,
- 在机器的配置文件中。
我可能错过了一些,谁知道呢。这是我到目前为止所发现的。那么问题来了, session 超时的优先顺序是什么?哪个设置会覆盖其他设置?
谢谢!
最佳答案
继其他答案之后:
ASP.NET 配置通过继承值来工作,从最通用的值开始,向下到最具体的值:
从Microsoft.Net\Framework\vX.Y.ZZZ\Config 文件夹开始
一个。 machine.config - 第 6 点
b. web.config - 可能是第 4 点,我对这个没怎么玩过
C。 web_[Level]trust.config - 如果您已经为您的站点声明了信任级别
我相信应用程序池设置会在此处启动:
应用程序池节点 - 第 2 点
e.应用程序的应用程序池 - 第 1 点
然后转到网站:
web.config - 第 3 点和第 5 点
G。应用程序代码(直接在代码中设置 HttpContext.Session.Timeout
)- 我相信这只会设置当前请求的超时,而不影响应用程序超时。
关于ASP.NET session 超时 : What is the order of precedence?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4137668/