IIS7中DefaultAppPool和Classic.NET AppPool的区别是什么?

IIS7中DefaultAppPool和Classic.NET AppPool的区别是什么?,iis,web-applications,iis-7,application-pool,Iis,Web Applications,Iis 7,Application Pool,我在IIS中遇到超时问题。在web.config中,会话超时设置为60分钟,但20分钟后会话结束 此问题仅发生在IIS7中,而不发生在IIS5中 经过一些调查,我发现这是由于应用程序池超时造成的。如果应用程序池在20分钟内什么也不做,IIS将结束会话 如果应用程序正在使用defaultAppPool,则始终会发生这种情况,但如果我将应用程序池更改为classic.NET应用程序池,则不会发生超时 两种模式都有空闲超时,但只有在DefaultAppPool中才会发生这种情况 为什么会这样 经典的

我在IIS中遇到超时问题。在web.config中,会话超时设置为60分钟,但20分钟后会话结束

此问题仅发生在IIS7中,而不发生在IIS5中

经过一些调查,我发现这是由于应用程序池超时造成的。如果应用程序池在20分钟内什么也不做,IIS将结束会话

如果应用程序正在使用defaultAppPool,则始终会发生这种情况,但如果我将应用程序池更改为classic.NET应用程序池,则不会发生超时

两种模式都有空闲超时,但只有在DefaultAppPool中才会发生这种情况

  • 为什么会这样
  • 经典的.NET AppPool和DefaultAppPool有什么区别
  • 经典型和集成型之间的管道有什么不同

经典池使用IIS和ISAPI的单独处理管道处理应用程序池中的请求。integrated使用集成的管道,IIS和ASP.NET a(更好的性能)仅使用一个进程就利用了IIS 7.0的改进功能。 好的做法是为每个应用程序创建一个新的应用程序池,然后根据应用程序需求分别进行配置


经典模式遵循以下步骤:

1.通过IIS核心接收传入HTTP请求

2.通过ISAPI处理请求

3.通过ASP.NET处理请求

4.请求通过ISAPI传回

5.请求通过IIS内核传回,最终在IIS内核中传递HTTP响应


集成模式使用:

1.通过IIS核心和ASP.NET接收传入的HTTP请求

2.适当的处理程序执行请求并传递HTTP响应

根据增加web.config中的会话超时


请记住,增加内存会导致应用程序消耗更多的资源,例如内存。我想你的问题已经有答案了。IIS 6和7有应用程序池超时的概念,这与会话超时不同

模式之间的区别是什么。。。已经解决了。我不确定你关于管道和模式差异的问题与你的问题——超时有什么关系

一些观点:在有任何流量的网站上不会发生空闲超时。您可能遇到了一个仅出现在QA站点或开发框中的问题。空闲超时设置的存在是为了节省开发设备上的资源和每月5美元的托管公司的资源,这些公司有很多未充分利用的网站(例如我的博客)。您可能不希望在公共站点上出现空闲超时

会话超时-在web配置中设置,如果用户未点击服务器,则其会话超时


空闲超时没有人接触web服务器20分钟,因此关闭以节省资源。在中,这位于应用程序池的“性能”选项卡上,很容易禁用。在IIS 7中,您可以在应用程序池高级设置或中设置。我运行的IIS 7不如IIS 6多,但从web.config中删除元素或将其设置为0可能会获得无限空闲超时

DefaultAppPool忽略web.config中的会话超时设置,但ASPNet应用程序池将使用web.config中的设置。

IIS7有一些主要更改,以更好地支持WCF,其中一个关键部分是新的集成应用程序池。PDC的这节课从提高WCF服务性能的角度讨论了其中的一些挑战:

本页对IIS7体系结构有很好的概述:。 我已经包含了本文中关于以下两种不同类型应用程序池的一些关键信息:

集成应用程序池模式

当应用程序池处于 集成模式,您可以 集成电路的优势 IIS的请求处理体系结构 和ASP.NET。当工作进程处于 应用程序池接收 请求,请求通过 事件的有序列表。每个事件 调用必要的本机和托管 模块来处理 请求并生成响应。 跑步有几个好处 集成模式下的应用程序池。 首先介绍了系统的请求处理模型 IIS和ASP.NET集成到一个 统一过程模型。这个模型 消除以前的步骤 在IIS和ASP.NET中重复,例如 认证。另外,, 集成模式启用 托管功能的可用性 所有内容类型

经典应用程序池模式

当应用程序池处于经典模式时 模式下,IIS 7.0处理请求,如中所示 IIS 6.0工作进程隔离模式。 ASP.NET请求首先通过 IIS和中的本机处理步骤是 然后路由到Aspnet_isapi.dll以进行 在中处理托管代码 托管运行时。最后是请求 通过IIS路由回以发送 答复。这是IIS的分离 和ASP.NET请求处理模型 导致某些重复 处理步骤,例如 身份验证和授权。 此外,托管代码功能, 例如表单身份验证,只是 可用于ASP.NET应用程序或 有脚本的应用程序 映射了要由处理的所有请求 aspnet_isapi.dll。一定要测试你的电脑 现有的 集成模式下的兼容性 在升级产品之前 环境到IIS 7.0并分配 中应用程序池的应用程序 综合模式。您应该只添加 将应用程序添加到应用程序池 在经典模式下,如果应用程序 无法在集成模式下工作。对于 例如,您的应用程序可能依赖 在从传递的身份验证令牌上 管理局局长