应用程序域,由 AppDomain 对象来表示,为执行托管代码提供隔离、卸载和安全边界。多个应用程序域可以在一个进程中运行;但是,在应用程序域和线程之间没有一对一的关联。多个线程可以属于一个应用程序域,尽管给定的线程并不局限于一个应用程序域,但在任何给定时间,线程都在一个应用程序域中执行。应用程序域通过使用 CreateDomain 方法来创建。AppDomain 实例用于加载和执行程序集 (Assembly)。当不再使用 AppDomain 时,可以将它卸载。其实就是动态加载代码用的。
调试欢乐多
应用程序域通常由运行库宿主以编程的方式来创建和操作。但是,有时应用程序还可能要和应用程序域结合起来使用。例如,应用程序可以将一个应用程序组件卸载到一个域中,以避免停止整个应用程序。MSDN最好的帮手!
Assembly被加载到AppDomain中运行,如果你没有指定在哪个AppDomain中加载Assembly的话,所有的Assembly都被加载到默认的AppDomain.
Assembly不可以单独被卸载,只有卸载它所在的AppDomain.AppDomain在被卸载时,它会加载到它下面的Assembly都卸载掉.