应用程序域概念

应用程序域概念(Application Domain,简App Domain)

我们知道.NET程序都是运行在托管环境(managed environment),但是操作系统只提供了进程(Process),而进程呢又只是提供了内存的控制。所以我们创建的.NET程序是无法直接在进程中运行的,那怎么办呢?这个时候应用程序域作为中介的角色出现了,它能够运行非托管进程和托管进程之上所以我们的WINFROM、WENFROM,控制台应用程序或是程序集都是运行在一个应用程序域中。

2010051110064561.jpg

单独的库程序集是不能被直接运行的(库程序集即.dll的文件),它必须和一个可执行程序集文件一起启动(可执行程序集即.exe)。当可执行文件加载完毕时,.NET会在当前进程中创建一个应用程序域称为默认域,域的名称和程序集的名称相同,它不能被销毁直至进程销毁。

2010051110302268.jpg

那C#不是运行在托管环境下的吗?那应用程序域是允许访问加载的程序集的Net Runtime所提供的服务。

一个进程可以包涵多个应用程序域,一个应用程序域可以包涵多个程序集,那有什么好处呢?就是好处1.创建进程的开销要比创建一个应用程序域的开销要大的多,所以创建多个域在进程2.错误隔离,一个应用程序域如果崩溃,只会影响其所在的应用程序域,而不会影响其他应用程序域。

 

转载于:https://www.cnblogs.com/wujiang/archive/2010/05/11/1732274.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值