.NET 应用程序域

2 篇文章 0 订阅

应用程序域是.NET程序所在的独立区域,应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界。每个.NET进程通常拥有一个默认应用程序域。
应用程序域通常由运行时宿主创建,运行时宿主负责在运行应用程序之前引导公共语言运行时。
宿主(例如,Microsoft Internet Explorer、ASP.NET 和 Windows shell)将公共语言运行时加载到一个进程中,在该进程中创建 应用程序域,然后在运行 .NET Framework 应用程序时加载和执行该应用程序域中的用户代码。

using System.Reflection;
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = "f:\\work\\development\\latest";//配置应用程序信息
AppDomain domain = AppDomain.CreateDomain("MyDomain",null,domaininfo);//创建应用程序域
domain.ExecuteAssembly("demo.exe");//demo.exe 在应用程序域 MyDomain 内执行
Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName);//显示当前应用程序域友好名称
Console.WriteLine(("Host domain is default: " + AppDomain.CurrentDomain.IsDefaultDomain);
domain.SetData("Message","some message");
Console.WriteLine(AppDomain.CurrentDomain.GetData("Message"));//应用程序域通信
AppDomain.Unload(domain);//卸载应用程序域 MyDomain
AppDomain.CurrentDomain.FirstChanceException += 
              (object source, FirstChanceExceptionEventArgs e) =>
              {
                  Console.WriteLine("FirstChanceException event raised in {0}: {1}",
                      AppDomain.CurrentDomain.FriendlyName, e.Exception.Message);
              };//接受首次异常通知
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值