Share via


使用應用程式定義域設計程式

應用程式定義域通常是由執行階段主應用程式以程式方式建立和運用。 不過,有時候應用程式也會希望配合應用程式定義域來運作。 例如,應用程式可將應用程式元件載入到定義域中,如此才能夠卸載此定義域 (及此元件),而不需要停止整個應用程式。

AppDomain 類別是應用程式定義域的程式設計介面。 這個類別包括了一些方法,可用來建立及卸載定義域、建立定義域中的型別執行個體,以及註冊各種告知 (例如,應用程式定義域的卸載)。 下表所列為常用的 AppDomain 方法。

AppDomain 方法

說明

CreateDomain

建立新的應用程式定義域。 建議您要使用指定 AppDomainSetup 物件的這個方法多載。 這是設定新定義域之屬性的慣用方法,例如,應用程式基底或應用程式的根目錄;定義域組態檔的位置;以及 Common Language Runtime 要用來將組件載入定義域的搜尋路徑等屬性。

ExecuteAssemblyExecuteAssemblyByName

執行應用程式定義域中的組件。 這是執行個體方法,所以可用來在另一個您擁有參考的應用程式定義域中執行程式碼。

CreateInstanceAndUnwrap

在應用程式定義域中建立指定之型別的執行個體,並傳回 Proxy。 使用這個方法可避免將包含建立之型別的組件載入到呼叫組件中。

Unload

執行定義域的非失誤性的關閉。 一直要到在定義域中執行的所有執行緒都已停止或者已經離開定義域,應用程式定義域才會被卸載。

注意事項注意事項

Common Language Runtime 並不支援全域方法的序列化 (Serialization),因此不能使用委派 (Delegate) 在其他應用程式定義域中執行全域方法。

Common Language Runtime 裝載介面規格中描述的 Unmanaged 介面也可提供應用程式定義域的存取。 Runtime 主應用程式可以從 Unmanaged 程式碼使用這些介面來建立並且取得處理序內應用程式定義域的存取。

請參閱

參考

AppDomain

AppDomain 方法

概念

應用程式定義域