C# AppDomain 类】的更多相关文章

/*** AppDomain 表示应用程序域,它是一个应用程序在其中执行的独立环境.无法继承此类. 应用程序域(由 AppDomain 对象表示)为执行托管代码提供隔离.卸载和安全边界. 使用应用程序域隔离可能终止进程的任务.如果正在执行任务的 AppDomain 的状态变得不稳定, 则可以卸载 AppDomain,但不会影响进程.当进程必须不重新启动而长时间运行时,这一点很重要. 还可使用应用程序域隔离不应共享数据的任务. 如果程序集被加载到默认应用程序域中,则当进程运行时将无法从内存中卸载该…
原文:认识AppDomain类 表示应用程序域,它是一个应用程序在其中执行的独立环境. 创建新的 AppDomain,在该新建 AppDomain 中实例化类型,以及与该类型的对象通信. usingnbsp;System;usingnbsp;System.Reflection;usingnbsp;System.Threading;classnbsp;Module1{nbsp;nbsp;nbsp;nbsp;publicnbsp;staticnbsp;voidnbsp;Main()nbsp;nbsp…
进程是存在独立的内存和资源的,但是AppDomain仅仅是逻辑上的一种抽象.一个process可以存在多个AppDomain.各个AppDomain之间的数据时相互独立的.一个线程可以穿梭多个AppDomain. 一.属性 ActivationContext 获取当前应用程序域的激活上下文.ApplicationIdentity 获得应用程序域中的应用程序标识.ApplicationTrust 获取说明授予应用程序的权限以及应用程序是否拥有允许其运行的信任级别的信息.BaseDirectory…
进程是存在独立的内存和资源的,但是AppDomain仅仅是逻辑上的一种抽象.一个process可以存在多个AppDomain.各个AppDomain之间的数据时相互独立的.一个线程可以穿梭多个AppDomain. 一.属性 ActivationContext 获取当前应用程序域的激活上下文.ApplicationIdentity 获得应用程序域中的应用程序标识.ApplicationTrust 获取说明授予应用程序的权限以及应用程序是否拥有允许其运行的信任级别的信息.BaseDirectory…
AppDomain是CLR(Common Language Runtime:公共语言运行库),它可以加载Assembly.创建对象以及执行程序. AppDomain是CLR实现代码隔离的基本机制. 每一个AppDomain可以单独运行.停止:每个AppDomain都有自己默认的异常处理:一个AppDomain的运行失败不会影响到其他AppDomain的运行. CLR在被CLR Host(windows shell or InternetExplorer or SQL Server)加载后,会创建…
进程是存在独立的内存和资源的,但是AppDomain仅仅是逻辑上的一种抽象.一个process可以存在多个AppDomain.各个AppDomain之间的数据时相互独立的.一个线程可以穿梭多个AppDomain. 一.属性 ActivationContext 获取当前应用程序域的激活上下文. ApplicationIdentity 获得应用程序域中的应用程序标识. ApplicationTrust 获取授予应用程序的权限以及应用程序是否拥有允许其运行的信任级别的信息. BaseDirectory…
Assembly和AppDomain的一些关于动态加载程序集的函数有些令人头疼,但细细研究后还是可以将他们区分的. 这些函数大致可以分为四类: 第一类:加载到Load Context内 Load Context: Load Context是所有动态加载程序集首选应该被加载到的地方. 它只能加载在AppDomain信息中的ApplicationBase目录以及附带的PrivateBinPath目录内的程序集(关于这两个目录:可以参考另一篇文章:http://www.cnblogs.com/mgen…
使用.Net建立的可执行程序*.exe,并没有直接承载到进程当中,而是承载到应用程序域(AppDomain)当中.应用程序域是.Net引入的一个新概念,它比进程所占用的资源要少,可以被看做是一个轻量级的进程.一个应用程序域可以有多个线程,一个线程也可以穿梭于多个应用程序域. 在一个进程中可以包含多个应用程序域,一个应用程序域可以装在一个可执行程序(*.exe)或者多个程序集(*.dll).这样可以使应用程序域之间实现深度隔离,即使进程中的某个应用程序域出现错误,也不会影响其他应用程序域的正常运作…
宿主应用程序可监视AppDomain消耗的资源.有的宿主根据这种信息判断一个AppDomain的内存或CPU消耗是否超过了应有的水准,并强制卸载一个AppDomain. 还可以利用监视来比较不同算法的资源消耗情况,判断哪种算法用的资源较少.由于AppDomain监视本身也会产生开销,所以宿主必须将AppDomain的静态属性MonitoringEnabled设为true,从而显示打开监视.监视一旦打开就不能关闭:如果试图将MonitoringEnabled设为false,会抛出一个Argumen…
CLR COM服务器初始化时,会创建一个AppDomain.AppDomain是一组程序集的逻辑容器.CLR初始化时创建的第一个AppDomain称为默认的AppDomain,这个默认的AppDomain只有在Windonws进程终止时才能被撤销. 除了默认的AppDomain,正在使用非托管Com接口方法或托管类型方法的一个宿主还可指示CLR创建额外的AppDomain,AppDomain唯一的作用就是进程隔离.下面总结了AppDomain的具体功能. 1.1.   一个AppDomain中的…