随笔分类 - CLR寄宿和AppDomain 学习笔记
摘要:前面已经讨论了宿主以及宿主加载CLR的方式。同时还讨论了宿主如何告诉CLR创建和卸载AppDomain。为了使这些讨论更加具体,下面将描述一些常见的宿主和AppDomain使用情形。特别地,我要解释不同应用程序类型如何宿主CLR,以及他们如何管理AppDomain。1 可执行应用程序控制台UI应用程...
阅读全文
摘要:每个AppDomain都可关联一组回调方法;CLR开始查找AppDomain中的catch块时,这些回调方法就会得到调用。这些方法可执行日志记录操作。除此之外,宿主可利用这个机制监视AppDomain中抛出的异常。回调方法不处理异常,也不能以任何方式吃掉它;他们只是接受关于异常已经发生的一个通知。为...
阅读全文
摘要:宿主应用程序可监视AppDomain消耗的资源。有的宿主根据这种信息判断一个AppDomain的内存或CPU消耗是否超过了应有的水准,并强制卸载一个AppDomain。还可以利用监视来比较不同算法的资源消耗情况,判断哪种算法用的资源较少。由于AppDomain监视本身也会产生开销,所以宿主必须将Ap...
阅读全文
摘要:AppDomain很出色的一个能力就是它允许卸载。卸载AppDomain会导致CLR卸载AppDomain中的所有程序集。还会释放AppDomain的Loader堆。为了卸载一个AppDomain,可调用AppDomain的静态方法Unload。这将导致CLR执行一系列操作来得体的卸载指定AppDo...
阅读全文
摘要:CLR COM服务器初始化时,会创建一个AppDomain。AppDomain是一组程序集的逻辑容器。CLR初始化时创建的第一个AppDomain称为默认的AppDomain,这个默认的AppDomain只有在Windonws进程终止时才能被撤销。除了默认的AppDomain,正在使用非托管Com接...
阅读全文
摘要:本系列文章来自 CLR VIA C#.NET FrameWork在Microsoft Windows平台的顶部运行。这意味着.NET必须用Windows可以理解的技术来构建。首先,所有的托管模块和程序集文件都必须使用Windows PE文件格式,而且要么是一个Windows.exe文件,要么是一个D...
阅读全文
浙公网安备 33010602011771号