应用程序池究竟是什么?它的目的是什么?
当前回答
应用程序池是使用IIS (w3wp.exe)相同工作进程的应用程序的集合。使用应用程序池的主要目的是隔离具有不同安全问题的两个不同应用程序,并避免由于工作进程死亡而导致应用程序崩溃。
其他回答
我是投票第二高的答案,但如果有人觉得有用的话,我想在这里添加更多的细节。
短版:
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组成的一组,由一个或一组工作进程提供服务。应用程序池用于分离共享相同配置和应用程序边界的IIS工作进程集。应用程序池用于隔离我们的web应用程序,以获得更好的安全性、可靠性、可用性和性能,并且它们保持运行而不相互影响。
application Pools元素包含IIS上运行的所有应用程序池的配置设置。应用程序池定义了一组一个或多个工作进程,这些进程配置了公共设置,为分配给该应用程序池的一个或多个应用程序提供请求。
由于应用程序池允许一组Web应用程序共享一个或多个配置相似的工作进程,因此它们提供了一种方便的方法,可以将一组Web应用程序与服务器计算机上的其他Web应用程序隔离开来。
进程边界分隔了每个工作进程;因此,一个应用程序池中的应用程序问题不会影响其他应用程序池中的Web站点或应用程序。应用程序池显著提高了Web基础设施的可靠性和可管理性。
应用程序池是由工作处理器或一组工作处理器提供服务的一组url。
可以存在任意数量的应用程序池。
在IIS中,可以创建多个应用程序池。
不同应用程序池中的应用程序在不同的工作处理器中运行。
优点:如果在一个应用程序池中发生错误,则不会影响在另一个应用程序池中运行的应用程序。
应用程序池允许您将应用程序彼此隔离,即使它们运行在同一台服务器上。这样,如果一个应用程序出现错误,它不会关闭其他应用程序。
此外,应用程序池允许您分离需要不同安全级别的不同应用程序。
这里有一个很好的资源:IIS和ASP。NET:应用程序池
推荐文章
- ASP是什么?NET Identity的IUserSecurityStampStore<TUser>接口?
- ASP。网网络。config: configSource vs.文件属性
- 在Linq中转换int到字符串到实体的问题
- <system. >之间的差异。web>和<system.webServer>?
- 为什么ASP。NET web表单需要Runat="Server"属性吗?
- 使用不同的Web。在开发和生产环境中进行配置
- 我如何添加双引号的字符串,是在一个变量?
- 最好的方法在asp.net强制https为整个网站?
- 在ASP .NET身份声明是什么
- 驻留在App_Code中的类不可访问
- 自定义HttpClient请求头
- 无法启动IIS Express Web服务器,注册URL失败,访问被拒绝
- 如果我使用OWIN Startup.cs类并将所有配置移动到那里,我是否需要一个Global.asax.cs文件?
- ASP。NET Identity DbContext混淆
- 下拉列表的SelectedIndexChanged事件没有触发