应用程序域:
托管代码不能在本地操作系统进程中直接执行,在托管代码和非托管代码间需要一桥梁,这便是应用程序域。
可将应用程序域看为一.NET进程,但单一物理进程可有多个应用程序域。
AppDomain类:
.NET用AppDomain类表示应用程序域。
默认应用程序域:
当启动EXE时,每个EXE都有一个Main()方法,为进程新应用程序域入口点。.NET创建一新应用程序域叫默认应用程序域。
默认应用程序域的名字是宿主EXE程序集的名称。不能卸载,且存在于宿主进程整个生命周期。
//myDll.dll
namespace myDll.lulu
{
public class MyClass
{
public void TraceAppDomain()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
//输出:ConsoleApplication.vshost.exe
//注:调试时,EXE程序集实际加载在VsHost进程,因此默认程序域名为myDll.vshot.exe
Console.WriteLine(currentDomain.FriendlyName);
}
}
}
//应用程序入口
static void Main(string[] args)
{
AppDomain