IIS默认超时

时间:2012-01-17 19:23:43

标签: asp.net iis

我知道以下步骤允许我在IIS中配置超时值,但它们之间有什么区别。默认情况下,web.config文件中的ASP.NET会话状态和CookieTimeout值也是如此,因为我在配置编辑器中看不到它们。如果是这样,我需要对web.config文件进行哪些更改以及它如何影响其他超时更改?

步骤

  1. 默认情况下,会话超时为20分钟。该值受到影响 许多设置,包括应用程序池,ASP,ASP.NET 会话状态,CookieTimeout。
  2. 打开IIS管理器
  3. 应用程序池 - >高级设置 - >过程模型 - >设置空闲 超时(分钟)
  4. 网站 - > your-website-domain.com - > ASP - >会话属性 - > 超时然后应用更改
  5. 网站 - > your-website-domain.com - >配置编辑器 - > system.web / sessionState - >设置超时值,然后应用更改
  6. 网站 - > your-website-domain.com - >配置编辑器 - > system.web / roleManager =>设置cookieTimeout然后应用更改

1 个答案:

答案 0 :(得分:5)

当应用程序池超时到期时,应用程序池将被回收。如果您使用默认的InProc会话存储,则超时到期时所有会话都将丢失。通常,每当有人从应用程序请求页面时,都会重置超时。

会话状态超时是会话存储中会话的到期时间。当此超时到期时,会话信息将从会话存储中删除,并调用Session_End。请参阅元素的文档,可以找到here

您提到的Cookie超时是角色管理器用于在Cookie中缓存用户角色的Cookie的到期时间。属性cacheRolesInCookie也必须设置为true才能生效 - 默认值为false。请参阅文档here

我不认为会话状态或cookie超时默认包含在配置文件中,但它取决于生成配置文件的内容。如果您希望会话保持打开的时间更长,则只需设置system.web / sessionState即可,只要您的站点有足够的流量来阻止应用程序池回收(每20分钟打一个页面)。由于应用程序池回收还有其他原因,使用除InProc之外的其他存储机制之一可能是个好主意。如果您正在使用其中一个身份验证提供程序,则可能会有额外的超时。我知道表单身份验证有一个你想要设置的超时。