IIS 站点应用程序池与应用程序应用程序池

IIS Site application pool vs app application pool

不太明白本站的应用池和独立应用的应用池有什么区别

我的意思是为什么我们需要为站点指定应用程序池?

站点应用程序池的“v4.0”和“无管理代码”CLR 版本有何区别?

例如,我们可以为站点应用程序池指定“v4.0”,为单独应用程序的应用程序池指定“无管理代码”,这将起作用。

I don't quite understand what is the difference between the app pool of the site and the application pool of the separate app. I mean why do we need to specify app pool for the site ?

应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。应用程序池用于隔离我们的 Web 应用程序以获得更好的安全性、可靠性、可用性和性能,并且它们保持 运行ning 而不会相互影响。

应用程序池是网站的集合运行宁作为一个单一的进程,具有单一的身份。您可以在一个应用程序池中拥有多个网站 运行ning,但不能在多个应用程序池中拥有一个网站 运行ning。将网站拆分到应用程序池允许站点之间更严格的安全性,并防止一个网站在另一个网站崩溃时崩溃。将多个站点组合到一个应用程序池中的好处是可以共享资源,或者在服务器上留下更小的服务器占用空间。

更多信息可以参考这个link:Application Pools.

What is the difference between the "v4.0" and "No Manage Code" CLR Versions for the application pool of the site ?

“v4.0”是.NET Framework 的版本,“No Manage Code”是CLR 的版本,当您为应用程序池指定.NET CLR 版本为“v4.0”时,IIS 加载到它的 worker 处理一些 ASP.NET 支持库(比如 aspnet_isapi.dll 用于经典管道模式,webengine4.dll 用于集成模式)。当您将 .NET CLR 版本指定为“无管理代码”时,这意味着您只有 运行 非 ASP.NET 4.x 和 2.x 应用程序(PHP,ASP.NET核心等等)。