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


当前回答

应用程序池允许您将应用程序彼此隔离,即使它们运行在同一台服务器上。这样,如果一个应用程序出现错误,它不会关闭其他应用程序。

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

这里有一个很好的资源:IIS和ASP。NET:应用程序池

其他回答

An application pool is like a pond, if I create 2 application pools, first application pool has 100 fishes and another application pool has 200 fishes, here fish is like an application in application pool. They are managed by worker processes. Best advantage is: if pond number-1 has bad water and cases all fish are effected then there is security of fish in pond number-2. Like this if any application pool is affected by any problem but there is not any effect of this problem in application pool 2 so security improves, and another benefit is that is you provide all the necessary authentication and rights to all applications in a single application pool.

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

假设游泳者在预留给他们的游泳池游泳。如果游泳者游到为他们预留的区域之外会发生什么,整个事情会变得一团糟。类似地,iis使用应用程序池将一个进程与另一个进程分开。

我是投票第二高的答案,但如果有人觉得有用的话,我想在这里添加更多的细节。

短版:

IIS runs any website you configure in a process named w3wp.exe. IIS Application pool is feature in IIS which allows each website or a part of it to run under a corresponding w3wp.exe process. So you can run 100 websites all in a single w3wp.exe or 100 different w3wp.exe. E.g. run 3 websites in same application pool(same w3wp.exe) to save memory usage. ,run 2 different websites in two different application pools so that each can run under separate user account(called application pool identity). run a website in one application pool and a subsite 'website/app' under a different application pool.

长版:

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

You would like the website to run under a different w3wp.exe process.Then create a new application pool and assign that to the website. You would like to run the website and all it's code under a different user account(e.g under Admin privileges),you can run do that by changing Application Pool Identity. You would like to run a particular application under .net framework 4.0 or 2.0. You would like to make sure the website in 32 bit mode or have a scheduled recycle of the w3wp.exe process etc.All such things are controlled from iis application pool.

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

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