我知道以下步骤允许我在IIS中配置超时值,但它们之间有什么区别.默认情况下,web.config文件中的ASP.NET会话状态和CookieTimeout值也是如此,因为我在配置编辑器中看不到它们.如果是这样,我需要对web.config文件做出哪些更改以及它如何影响其他超时更改?
脚步
当应用程序池超时到期时,应用程序池将被回收.如果您使用默认的InProc会话存储,则超时到期时所有会话都将丢失.通常,每当有人从应用程序请求页面时,都会重置超时.
会话状态超时是会话存储中会话的到期时间.当此超时到期时,会话信息将从会话存储中删除,并调用Session_End.请参阅元素的文档,可在此处找到.
您提到的Cookie超时是角色管理器用于在cookie中缓存用户角色的cookie的到期时间.属性cacheRolesInCookie也必须设置为true才能生效 - 默认值为false.请参阅此处的文档.
我不认为会话状态或cookie超时默认包含在配置文件中,但它取决于生成配置文件的内容.如果您希望会话保持打开的时间更长,则只需设置system.web/sessionState即可,只要您的站点有足够的流量来阻止应用程序池回收(每20分钟打一个页面).由于应用程序池回收还有其他原因,使用除InProc之外的其他存储机制之一可能是个好主意.如果您正在使用其中一个身份验证提供程序,则可能会有额外的超时.我知道表单身份验证有一个你想要设置的超时.