应用程序池究竟是什么?它的目的是什么?
当前回答
我是投票第二高的答案,但如果有人觉得有用的话,我想在这里添加更多的细节。
短版:
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应用程序,以获得更好的安全性、可靠性、可用性和性能,并且它们保持运行而不相互影响。
我是投票第二高的答案,但如果有人觉得有用的话,我想在这里添加更多的细节。
短版:
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中,可以创建多个应用程序池。
不同应用程序池中的应用程序在不同的工作处理器中运行。
优点:如果在一个应用程序池中发生错误,则不会影响在另一个应用程序池中运行的应用程序。
应用程序池允许您将应用程序彼此隔离,即使它们运行在同一台服务器上。这样,如果一个应用程序出现错误,它不会关闭其他应用程序。
此外,应用程序池允许您分离需要不同安全级别的不同应用程序。
这里有一个很好的资源:IIS和ASP。NET:应用程序池
IIS-Internet信息服务是用于托管一个或多个web应用程序的web服务器。 让我们举一个例子,微软正在维护网络服务器,我们在这个IIS上运行我们的网站abc.com(基于新闻内容)。 由于微软是一家大公司,它可能会采取或也准备托管另一个网站,比如xyz.com(基于电子商务)。
现在网络服务器托管,即提供内存运行两个网站在其单一的网络服务器。因此,这里出现了应用程序池。 Abc.com有自己的规则,业务逻辑,数据等,同样适用于xyz.com。
IIS提供了两个应用程序池(路径),在单个web服务器上平滑地运行两个网站在各自的世界(数据),而不影响各自的问题(安全性,可伸缩性)。这是IIS中的应用程序池。
所以你可以有任意数量的应用程序池,这取决于服务器的容量
推荐文章
- 启用IIS7 gzip
- 为什么使用HttpClient进行同步连接
- Visual Studio 2012 Web Publish不复制文件
- 成员“<成员名>”不能通过实例引用访问
- 如何返回一个文件(FileContentResult)在ASP。净WebAPI
- 什么是Kestrel (vs IIS / Express)
- 如何为ASP.net/C#应用程序配置文件值中的值添加&号
- 我如何解决“HTTP错误500.19 -内部服务器错误”在IIS7.0
- 将列表序列化为JSON
- 运行计划任务的最佳方式
- Global.asax中的“解析器错误消息:无法加载类型”
- 什么时候我应该在ASP中使用异步控制器。净MVC吗?
- ASP。NET“特殊”标签
- 如何编辑。csproj文件
- 如何使用网络强制HTTPS。配置文件