使用专用应用程序池而不是将Web应用程序保存在一个默认应用程序池中的优缺点是什么?
优点:
应用程序彼此隔离,除非IIS随之而来,应用程序池锁定将仅取出该池中的应用程序
能够在不同的ASP.NET运行时下运行应用程序,如果需要,可以在1.1的另一个池中运行2.0
能够为更多或更不重要的应用程序设置不同的应用程序池设置.例如,ASP.NET中的公司网站可能希望在不活动__分钟后关闭,以防止因为响应非常重要而导致卸载.其他网站可能不需要它.
可以在文件访问方面保护彼此的池,非常适合第三方或不受信任的应用程序,因为它们可以在非常严格的用户帐户下运行.
缺点:
每个应用程序池都有自己的内存库和自己的进程,因此CAN可以使用更多资源
有些人发现很难调试应用程序,因为你有多个进程
在应用程序池中组合网站的主要原因是为了节省内存.运行几个w3wp.exe进程时会产生大量内存开销.如果你没有特别的理由将它们分开,最好把它们放在一起.
专用应用程序池通常会使一个站点中发生的问题不会影响其他站点.如果您跨站点共享应用程序池,则只有特定站点(或应用程序池)存在错误情况时,才能关闭该框中的所有站点.
此外,如果您在同一个Web服务器上混合使用ASP.Net版本,则每个ASP.Net版本至少需要不同的应用程序池,或者每个网站都需要.
我想不出一个不分开应用程序池的好理由,这很容易做到.
我同意杰森的观点.
此外,您可以为不同的应用程序池指定不同的用户(例如Windows帐户).这样可以在数据库中设置具有不同权限的用户.这有助于增强安全性,并且可以跟踪哪个网站/用户访问数据库,在跟踪数据库性能问题时非常有用.