AppDomain 類
表示應用程序域,它是一個應用程序在其中執行的獨立環境。無法繼承此類。
應用程序域(由 AppDomain 對象表示)爲執行託管代碼提供隔離、卸載和安全邊界。
使用應用程序域隔離可能終止進程的任務。如果正在執行任務的 AppDomain 的狀態變得不穩定,則可以卸載 AppDomain,但不會影響進程。當進程必須不重新啓動而長時間運行時,這一點很重要。還可使用應用程序域隔離不應共享數據的任務。
如果程序集被加載到默認應用程序域中,則當進程運行時將無法從內存中卸載該程序集。但是,如果打開另一個應用程序域來加載和執行程序集,則卸載該應用程序域時也會同時卸載程序集。使用此技術最小化長時間運行的進程的工作集,這些進程偶爾會使用大型 DLL。
多個應用程序域可以在一個進程中運行;但是,在應用程序域和線程之間沒有一對一的關聯。多個線程可以屬於一個應用程序域,儘管給定的線程並不侷限於一個應用程序域,但在任何給定時間,線程都在一個應用程序域中執行。