應用程式定義域 (C# 和 Visual Basic)
應用程式定義域提供了彈性且安全的方法,能夠隔離執行中的應用程式。
應用程式定義域通常是由執行階段主應用程式建立和管理。 有時您可能想讓應用程式以程式設計方式與應用程式定義域互動,例如卸載元件而不需停止執行應用程式。
應用程式定義域會將應用程式彼此分隔,彼此的資料也會區隔開來,有助於增加安全性。 單一程序可以執行數個應用程式定義域,在不同程序中提供相同的隔離等級。 在單一程序中執行多個應用程式,可以增加伺服器的延展性。
在下列程式碼範例中,您會先建立新的應用程式定義域,然後載入並執行先前建置的 HelloWorld.exe 組件 (儲存於 C 磁碟機中)。
' Create an Application Domain:
Dim newDomain As System.AppDomain = System.AppDomain.CreateDomain("NewApplicationDomain")
' Load and execute an assembly:
newDomain.ExecuteAssembly("c:\HelloWorld.exe")
' Unload the application domain:
System.AppDomain.Unload(newDomain)
// Create an Application Domain:
System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");
// Load and execute an assembly:
newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");
// Unload the application domain:
System.AppDomain.Unload(newDomain);
應用程式定義域概觀
應用程式定義域有下列屬性:
組件必須載入應用程式定義域才能執行。 如需詳細資訊,請參閱組件和全域組件快取 (C# 和 Visual Basic)。
應用程式定義域中的錯誤不可以影響在另一個應用程式定義域中執行的其他程式碼。
可以停止個別應用程式和卸載程式碼,而不需停止整個處理序。 您不能卸載個別組件或型別,只能卸載整個應用程式定義域。