IIS7的应用程序池详细解析
1、应用程序池具有下列优点:改进的服务器和应用程序性能。对于占用大量资源的应用程序,您可以将其分配给它们自己的应用程序池,以免影响其他应用程序的性能。改进的应用程序可用性。如果一个应用程序池中的应用程序发生故障,将不会影响其他应用程序池中的应用程序。改进的安全性。通过隔离应用程序,可以降低一个应用程序访问其他应用程序资源的几率。截取微软官方一篇文章的图,介绍IIS7集成管道下的事件生命周期如下:

3、实际上IIS7集成模式,就是让用户可以通过编写托管代码的han蟠校盯昂dler等,把托管代码插入到IIS内核代码中恝依在绌来解析,方便大家精确控制任意请求,带来更好的扩展性。但缺点呢,我认为集成模式,任何文件请求都可能经过托管代码处理,别人不想把类试图片和静态文件用托管代码处理,就得想其他办法了,这样会不会内部效率降低,但这都是个人观点。在集成模式中,HTTP模块和HTTP处理程序不再定义于<system.web>中,而定义于<system.webServer>中。如果在集成模式中运行一个包括了HTTP模块或HTTP处理程序的web.config文件,那么将会发生失效。因为集成模式下,要想运行HTTP处理程序,必须在配置文件中添加一个<system.webServer>\<handlers>节点代替经典模式下的<system.web>\<httpHandlers>节点。进行这种转换后,程序HTTP处理程序成功执行。具体的转换方式如下:在经典模式中,HTTP处理程序注册方式是添加一个<system.web>\<httpHandlers>节点,如图:

5、另外应用程序池的集成模式,不能设置模拟,要在web.config里面干掉这段<configuration> <system.web> <identity impersonate="true"/> </system.web> </configuration>
6、在 IIS 7 中,应用程序池有两种运行模式:集成模式和经典模式。应用程序池模式会影响服务器处理托管代码请求的方式。如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET 的集成请求处理管道来处理请求。但是,如果托管应用程序在采用经典模式的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由托管代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。