什么是IIS应用程序池?

时间:2010-10-05 23:52:01

标签: asp.net iis application-pool

应用程序池究竟是什么?它的目的是什么?

15 个答案:

答案 0 :(得分:230)

应用程序池允许您将应用程序彼此隔离,即使它们在同一服务器上运行也是如此。这样,如果一个应用程序中存在错误,则不会删除其他应用程序。

此外,应用程序池允许您分离需要不同安全级别的不同应用程序。

这是一个很好的资源:IIS and ASP.NET: The Application Pool

答案 1 :(得分:57)

基本上,应用程序池是一种通过进程边界在Web服务器中创建隔离专区的方法,并将URL集路由到每个隔离专区。在此处查看更多信息:http://technet.microsoft.com/en-us/library/cc735247(WS.10).aspx

答案 2 :(得分:35)

我是最受欢迎的答案,但如果有人发现它有用,我觉得在这里添加更多细节。

简短版本:

  

IIS运行您在名为w3wp.exe的进程中配置的任何网站。 IIS   应用程序池是IIS中的功能,允许每个网站或部分   它在相应的w3wp.exe进程下运行。所以你可以跑   100个网站都在一个w3wp.exe或100个不同的w3wp.exe中。例如。   在同一个应用程序池(相同的w3wp.exe)中运行3个网站以节省内存   用法。 ,在两个不同的应用程序池中运行2个不同的网站   每个都可以在单独的用户帐户下运行(称为应用程序池   身份)。在一个应用程序池和一个子站点中运行一个网站   “网站/应用”在不同的应用程序池下。

更长的版本:

每个网站或网站的一部分,您都可以在应用程序池下运行。您可以使用应用程序池控制网站的一些基本设置。

  1. 您希望该网站在不同的w3wp.exe进程下运行。然后创建一个新的应用程序池并将其分配给该网站。
  2. 您希望在不同的用户帐户下运行网站及其所有代码(例如,在管理员权限下),您可以通过更改Application Pool Identity.
  3. 来执行此操作
  4. 您希望在.net framework 4.0或2.0下运行特定的应用程序。
  5. 您希望确保网站处于32位模式或预定回收w3wp.exe进程等。所有此类操作均由iis应用程序池控制。
  6. 希望它有所帮助!

答案 3 :(得分:14)

应用程序池是由一个工作进程或一组工作进程提供服务的一个或多个URL的组。可以将任何Web目录或虚拟目录分配给应用程序池。

应用程序池中的每个应用程序共享相同的工作进程。

答案 4 :(得分:12)

假设游泳者在游泳池中为他们预留的区域游泳。如果游泳者游泳而不是为他们保留的区域会发生什么,整个事情会变得混乱。类似地,iis使用应用程序池将一个进程与另一个进程分开。

答案 5 :(得分:7)

IIS-Internet信息服务是用于托管一个或多个Web应用程序的Web服务器。 让我们举一个例子说微软正在维护网络服务器,我们在这个IIS上运行我们的网站abc.com(基于新闻内容)。 因为,微软是一家大型公司,它可能会采取或准备主持另一个网站xyz.com(电子商务)。

现在,Web服务器正在托管,即提供内存以在其单个Web服务器上运行这两个网站。因此,这里的应用程序池就会出现。 abc.com有自己的规则,业务逻辑,数据等,同样适用于xyz.com。

IIS提供了两个应用程序池(路径),可以在一个Web服务器中顺利运行两个网站(数据),而不会影响每个问题(安全性,可伸缩性)。这是IIS中的应用程序池。

因此,根据服务器容量,您可以拥有任意数量的应用程序池

答案 6 :(得分:5)

应用程序池是由工作者处理器或一组工作者处理器提供服务的一组URL。

可以存在任意数量的应用程序池。

在IIS中,可以创建多个应用程序池。

不同应用程序池中的应用程序在不同的工作程序处理器中运行。

优点:如果一个应用程序池中发生错误,则不会影响在另一个应用程序池中运行的应用程序。

答案 7 :(得分:5)

应用程序池是由一个工作进程或一组工作进程提供服务的一个或多个URL的组。应用程序池用于分隔共享相同配置和应用程序边界的IIS工作进程集。应用程序池用于隔离我们的Web应用程序,以提高安全性,可靠性,可用性和性能,并且它们可以在不影响彼此的情况下继续运行。

答案 8 :(得分:3)

应用程序池用于分隔共享相同配置和应用程序边界的IIS工作进程集。

应用程序池用于隔离我们的Web应用程序,以提高安全性,可靠性,可用性和性能,并在不影响彼此的情况下继续运行。工作进程充当分隔每个应用程序池的进程边界,以便当一个工作进程或应用程序出现问题或进行回收时,其他应用程序或工作进程不会受到影响。一个应用程序池也可以有多个工作进程。

或者我们可以简单地说,应用程序池是由一个工作进程或一组工作进程提供服务的一个或多个URL的组。可以将任何Web目录或虚拟目录分配给应用程序池。如果你使用了分离的应用程序池,那么一个网站不会受到其他网站的影响。

来源:Interviewwiz

答案 9 :(得分:3)

应用程序池是使用IIS(w3wp.exe)的相同工作进程的应用程序集合。使用应用程序池的主要问题是隔离具有不同安全问题的两个不同应用程序,并避免因工作进程死亡而导致应用程序崩溃。

答案 10 :(得分:2)

应用程序池用于分隔共享相同配置的一组IIS工作进程。 应用程序池使我们能够隔离我们的Web应用程序,以提高安全性,可靠性和可用性

答案 11 :(得分:2)

应用程序池是由一个工作进程或一组工作进程提供服务的一个或多个URL的组。应用程序池用于分隔共享相同配置和应用程序边界的IIS工作进程集。

答案 12 :(得分:1)

应用程序池为您的应用程序提供isolation。并增加应用程序的availability,因为每个池都在自己的进程中运行,因此一个应用程序中的错误不会导致其他应用程序池。我们有shared池,该池托管在其下运行的多个Web应用程序,还有dedicated池,其上运行有单个应用程序。

答案 13 :(得分:0)

应用程序池元素包含IIS上运行的所有应用程序池的配置设置。应用程序池定义一组一个或多个工作进程,使用通用设置进行配置,这些设置为分配给该应用程序池的一个或多个应用程序提供请求。

由于应用程序池允许一组Web应用程序共享一个或多个类似配置的工作进程,因此它们提供了一种将一组Web应用程序与服务器计算机上的其他Web应用程序隔离的便捷方法。

流程边界将每个工作流程分开;因此,一个应用程序池中的应用程序问题不会影响其他应用程序池中的Web站点或应用程序。应用程序池显着提高了Web基础结构的可靠性和可管理性。

答案 14 :(得分:0)

如果我创建2个应用程序池,应用程序池就像一个磅,在第一个应用程序池100鱼和另一个应用程序池中有200条鱼,这里的鱼就像应用程序池中的应用程序。 它们由工人流程管理。 最好的优点是::如果1号坑有坏水并且所有鱼都受到影响,那么鱼的安全性就是2号磅。如果任何应用程序池受到任何问题影响但是没有任何影响应用程序池2中的问题因此提高了安全性,另一个好处就是您为单个应用程序池中的所有应用程序提供了所有必要的身份验证和权限