【问题标题】:Application pool: Integrated or classic应用程序池:集成或经典
【发布时间】:2015-07-03 05:37:55
【问题描述】:
我想在我的系统上的 IIS7 中托管我的网站。
在将文件夹转换为应用程序时,我们必须选择一个应用程序池。
有两个应用程序池可用。Integrated 和 Classic。
我很困惑该选择哪一个。我都试过了。两者都在工作。是否有任何使用应用程序池的规则/指南。我用谷歌搜索了一下,知道一个是使用集成管道,另一个是使用ASP.Net_isapi.dll。
但仍然困惑使用哪一个。请帮忙。提前致谢。
【问题讨论】:
标签:
c#
asp.net
iis
iis-7
application-pool
【解决方案1】:
在经典模式下,ASPNET 作为 isapi(IIS6 及更低版本)工作。集成模式仅适用于 IIS7 及以上,ASPNET 作为部分或 IIS 工作。
如果您要移植旧代码,则经典模式更适合兼容模式。
【解决方案2】:
经典模式(IIS6 及以下的唯一模式)是 IIS 仅直接使用 ISAPI 扩展和 ISAPI 过滤器的模式。实际上,在这种模式下,ASP.NET 只是一个 ISAPI 扩展(aspnet_isapi.dll)和一个 ISAPI 过滤器(aspnet_filter.dll)。 IIS 只是将 ASP.NET 视为在 ISAPI 中实现的外部插件,并像黑盒子一样使用它(并且仅当它需要向 ASP.NET 发出请求时)。在这种模式下,ASP.NET 与 PHP 或其他 IIS 技术没有太大区别。
另一方面,集成模式是 IIS7 中的一种新模式,其中 IIS 管道与 ASP.NET 请求管道紧密集成(即完全相同)。 ASP.NET 可以看到它想要处理的每个请求并在此过程中进行操作。 ASP.NET 不再被视为外部插件。它完全混合并集成在 IIS 中。在这种模式下,ASP.NET HttpModules 基本上具有与 ISAPI 过滤器一样多的功能,并且 ASP.NET HttpHandler 可以具有与 ISAPI 扩展几乎相同的功能。在这种模式下,ASP.NET 基本上是 IIS 的一部分。
请检查
http://forums.iis.net/t/1153967.aspx?Difference+between+Integrated+and+Classic+mode