卸载域和关闭进程

应用程序域可以在不停止整个进程的情况下卸载。 宿主可以利用这一特点来卸载不再需要的代码,从而减少内存占用并增加其应用程序的可缩放性。

System.AppDomain 类包含一个名为 Unload 的静态方法,宿主可以使用该方法卸载特定的应用程序域。 AppDomain.Unload 执行的是正常关机,只要存在任何活动线程,它就不会卸载应用程序域。

如果不关闭整个进程,就无法卸载默认应用程序域中加载的程序集,或以非特定于应用程序域的方式加载的程序集。

.NET Framework 1.0 和 1.1 版本使用 ICorRuntimeHost::Stop 方法禁用运行时。

.NET Framework 2.0 版本使用 ICLRRuntimeHost::Stop 方法在进程中禁用公共语言运行时。 当对某个进程调用 ICLRRuntimeHost::Stop 方法后,就无法在该进程中重新启动运行时。 每次调用 ICLRRuntimeHost::Start 方法后,都必须调用一次 ICLRRuntimeHost::Stop

请参见

参考

AppDomain.Unload

概念

承载概述