asp.net - 应用程序域和应用程序池之间的区别?

标签 asp.net application-pool applicationdomain

应用程序域和应用程序池有什么区别?

我已经阅读了很多有关这两个术语的文章。但仍然无法正确了解它们。

请用简单的描述进行详细说明。

谢谢

最佳答案

IIS进程是w3wp;
IIS中的每个应用程序池都使用自己的进程。
AppPool1使用进程3784,AppPool2使用进程5044
Asp.net中的不同应用程序将使用不同的
AppDomain;

AppTest1和AppTest2在不同的AppDomain中,但在
同样的过程。

使用它们有什么意义?

应用程序池和AppDomain都可以提供
隔离,但使用不同的方法。申请池
使用该过程来隔离有效的应用程序
没有.NET。但是AppDomain是另一种隔离方法
由.NET提供。
如果您的服务器托管成千上万个网站,则您将不会使用
数千个应用程序池来隔离网站,
仅仅因为运行太多的进程会杀死操作系统。
但是,有时您需要应用程序池。其中一个
应用程序池的优势在于您可以配置
应用程序池的标识。还有你更灵活
回收应用程序池的选项。至少现在
IIS没有提供明确的选项来回收appdomain。

应用程序池是一个或多个URL的组
不同的Web应用程序和网站。任何网页目录
或虚拟目录可以分配给应用程序池。
应用程序池中的每个应用程序共享相同的内容
工作进程可执行文件W3wp.exe,该工作进程
服务一个应用程序池与工作程序分开
为另一个服务的过程[例如启动MS Word和
打开许多Word文档]。每个单独的工作进程
提供过程边界,以便在应用程序处于
分配给一个应用程序池,其他问题
应用程序池不影响应用程序。这个
确保如果工作进程失败,则不会影响
在其他应用程序池中运行的应用程序。 [即]
例如,如果Word文档出现问题,则不应
从逻辑上影响您的Excel工作表不是吗?
应用程序域是一种机制(类似于
操作系统),用于隔离执行的软件
彼此之间的应用程序,以使它们不受影响
彼此。 [i.e]打开MS WORD不会影响MS EXCEL
您可以随时打开和关闭这两个应用程序
应用程序之间没有依赖关系。每
应用程序域具有其自己的虚拟地址空间,
使用该资源来确定应用程序域的资源范围
地址空间。

感谢this链接

关于asp.net - 应用程序域和应用程序池之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8486335/

相关文章:

c# - 您如何处理网站中的不同时区?

.net - 组成进程、应用程序域、上下文和线程的 "components"有哪些不同(以及它们之间的关系)?

actionscript-3 - RSL、LoaderContext 和 ApplicationDomain。我可以将应用程序域传递给 RSL 吗?

c# - 如何在即时窗口中轻松查看数据表或数据 View 的内容

asp.net - Asp.Net Core 中的反向代理和进程内 HTTP 服务器

asp.net - 需要安装Dnx Runtime软件包。请参阅输出窗口以获取更多详细信息

iis - 停止 IIS 7.5 应用程序池回收

.net - 确定应用程序池上次回收的时间

ASP.NET应用程序池回收问题