最近学习并分享了appdomin的一些东西,以前没怎么记录过,现在记录一下吧2016-03-17
什么是AppDomin
•全称:Application Domin(应用程序域)
•定义:AppDomain是CLR的运行单元,它可以加载Assembly、创建对象以及执行程序。
•作用:AppDomain简单的说就是应用程序内的边界。可以通过它在相同进程中进行再次隔离。AppDomain的唯一作用就是隔离
具体功能
•一个AppDomain中的代码创建的对象不能由另一个AppDomain中的代码直接访问
•AppDomain可以卸载
•AppDomain可以单独保护
AppDomain可以单独实施配置
AppDomain vs 进程
AppDomain被创建在进程中,一个进程内可以有多个AppDomain。
一个AppDomain只能属于一个进程
AppDomin的类型
•默认AppDomin
•普通AppDomin
此图的解释一个进程及app_domin的作用
AppDomain vs 线程
•线程:程序执行流的最小单元
•一个AppDomain内可以创建多个线程,但是不能限定这些线程只能在本AppDomain内执行代码。
应用
•需要隔离的程序集,譬如一些特别容易引起崩溃的代码可以考虑单独运行于一个特定的AppDomain
•不同安全级别的程序集界限设置
•资源控制
动态发布解决方案
示例,demo演示了动态加载dll及执行