首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >应用程序域和应用程序池之间的区别?

应用程序域和应用程序池之间的区别?
EN

Stack Overflow用户
提问于 2011-12-13 16:41:23
回答 1查看 26.8K关注 0票数 22

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

我读过很多关于这两个术语的文章。但是仍然不能对他们有正确的理解。

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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-13 17:47:51

AppPool1使用3784进程,AppPool2使用5044进程,Asp.net中不同的应用程序会使用不同的AppDomain;

AppTest1和AppTest2在不同的AppDomain中,但在同一进程中。

使用它们有什么意义?

应用程序池和AppDomain,它们都可以提供隔离,但使用不同的方法。应用程序池使用进程来隔离没有.NET的应用程序,而AppDomain是.NET提供的另一种隔离方法,如果你的服务器托管了成千上万的网站,你不会使用成千上万的应用程序池来隔离网站,因为太多的进程运行会杀死操作系统。但是,有时您需要应用程序池。应用程序池的优势之一是您可以配置应用程序池的标识。此外,您有更灵活的选项来回收应用程序池。至少现在,IIS没有提供明确的选项来回收应用程序域。

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

感谢this链接

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8486335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档