应用程序池是什么?它的作用是什么?
应用程序池允许您将应用程序相互隔离,即使它们在同一服务器上运行。这样,如果一个应用程序出现错误,它也不会影响其他应用程序。
此外,应用程序池还允许您分离需要不同安全级别的不同应用程序。
以下是一个好的资源:IIS和ASP.NET:应用程序池
我赞同最受欢迎的答案,但认为如果有人发现这些信息有用,我想补充一些细节。
简短版:
IIS 运行配置在名为 w3wp.exe 的进程中的任何网站。IIS 应用程序池是 IIS 中的一个功能,允许每个网站或其一部分在相应的 w3wp.exe 进程下运行。因此,您可以在单个 w3wp.exe 中运行 100 个网站或 100 个不同的 w3wp.exe。例如,在相同的应用程序池(相同的 w3wp.exe)中运行 3 个网站以节省内存使用,或在两个不同的应用程序池中运行 2 个不同的网站,以使每个网站在单独的用户帐户下运行(称为应用程序池标识)。将一个网站和一个子网站 'website/app' 分别运行在不同的应用程序池中。
更详细的版本:
您可以将每个网站或其一部分运行在应用程序池中,并使用应用程序池控制网站的一些基本设置。
应用程序池基本上是通过进程边界在Web服务器中创建分区并将一组URL路由到每个分区的一种方法。 在此处查看更多信息:http://technet.microsoft.com/en-us/library/cc735247(WS.10).aspx
应用程序池是由一个或多个 URL 组成的群组,由一个或几个工作进程提供服务。任何 Web 目录或虚拟目录都可以分配到应用程序池。
在应用程序池中的每个应用程序共享同一工作进程。
IIS(Internet Information Services)是一个用于托管一个或多个Web应用程序的Web服务器。 我们以微软公司维护Web服务器并在此IIS上运行我们的ABC.com网站(基于新闻内容)为例。 由于微软是一家大公司,它可能会承载另一个网站,比如基于电子商务的XYZ.com。
现在,Web服务器正在托管即在其单个Web服务器上提供内存以运行这两个网站。因此,这里应用程序池开始发挥作用。 ABC.com具有自己的规则、业务逻辑、数据等,同样适用于XYZ.com。
IIS提供了两个应用程序池(路径),以使两个网站在单个Web服务器中平稳地运行于各自的世界(数据),而不影响各自的事项(安全性、可伸缩性)。这就是IIS中的应用程序池。
因此,您可以根据服务器容量拥有任意数量的应用程序池。
应用程序池是由工作进程或一组工作进程提供服务的一组 URL。
可以存在任意数量的应用程序池。
在 IIS 中,可以创建多个应用程序池。
不同应用程序池中的应用程序在不同的工作进程中运行。
优势:如果一个应用程序池中出现错误,也不会影响另一个应用程序池中运行的应用程序。
应用程序池用于隔离共享相同配置和应用程序边界的IIS工作进程集。
应用程序池用于隔离我们的Web应用程序,以提高安全性、可靠性、可用性和性能,并且使它们在彼此之间不受影响地保持运行。工作进程充当进程边界,将每个应用程序池分开,以便当一个工作进程或应用程序出现问题或重新启动时,其他应用程序或工作进程不受影响。同一个应用程序池也可以有多个工作进程。
或者我们可以简单地说,应用程序池是由一个或多个URL组成的组,这些URL由一个或一组工作进程提供服务。任何Web目录或虚拟目录都可以分配给一个应用程序池。这样,如果使用分离的应用程序池,一个网站就不会受到其他网站的影响。
来源:Interviewwiz