.NET Compact Framework 中的應用程式定義域

更新:2007 年 11 月

每個 .NET Compact Framework 應用程式會在稱為應用程式定義域 (和作業系統處理序相似) 的執行階段建構內執行。.NET Compact Framework 會確保執行中應用程式所使用的全部 Managed 資源,在應用程式結束時皆已釋放或傳回主機作業系統。

在不需要基礎主機作業系統的支援下,應用程式定義域提供許多處理序的優點,例如錯誤隔離、更高的強固性和安全性。應用程式定義域主機會啟動 Common Language Runtime 的執行個體,並且其本身便是原生作業系統程式碼。Common Language Runtime 可以靜態或動態地連結至應用程式定義域主機。

.NET Compact Framework 不會對應用程式定義域主機的行為有所限制。應用程式定義域主機可以是現有用來啟動或停止程式之互動式 Shell 的簡單擴充。在像是 Windows 的動態應用程式系統上,應用程式定義域主機可以是應用程式載入器的擴充,因此可以使用與原生應用程式相同的機制,來啟動和停止 .NET Compact Framework 應用程式。

多個應用程式定義域

.NET Compact Framework 支援多個應用程式定義域。您可以指定類別建構函式中的組件。然後您可以使用 CreateDomain 方法啟動新的應用程式定義域。新的應用程式定義域會載入其專屬之 Common Language Runtime DLL、資料結構和記憶體集區複本。一個作業系統處理序中可以存在多個應用程式定義域。

注意事項:

.NET Compact Framework 不支援將組件載入至定義域中性方式 (Domain-Neutral) 的程式碼區域,以供多重應用程式定義域使用。

.NET Compact Framework 決定何時應該執行記憶體回收。記憶體回收可以在單一應用程式定義域或所有的應用程式定義域中發生。這可避免一個應用程式定義域使用太多記憶體,以致佔用其他應用程式定義域的額度。

請參閱

其他資源

應用程式定義域

.NET Compact Framework 架構概觀