Programování pomocí domén aplikace
Domény aplikace jsou obvykle vytvořeny a manipulovány programově pomocí hostitelských prostředí modulu runtime. Nicméně někdy může také aplikační program chtít pracovat s doménami aplikace. Aplikační program například může načíst komponentu aplikace do domény, aby byl schopen uvolnit doménu (a komponentu) bez nutnosti zastavit celou aplikaci.
AppDomain class je programové rozhraní do domén aplikace. Tato třída zahrnuje metody pro vytvoření a uvolnění domén, k vytvoření instancí typů v doménách a registrace různých upozornění, jako je například uvolnění domény aplikace. V následující tabulce je uveden seznam běžně používaných metod třídy AppDomain.
metoda třídy AppDomain |
Popis |
---|---|
Vytvoří novou doménu aplikace. Je doporučeno používat přetížení této metody, které specifikuje objekt AppDomainSetup. Toto je upřednostňovaný způsob, jak nastavit vlastnosti nové domény, jako je například základ cesty aplikace nebo kořenový adresář pro aplikaci; umístění konfiguračního souboru pro doménu; a cesta pro hledání, která je použita modulem CLR (Common Language Runtime) k načtení sestavení do domény. |
|
Spustí sestavení v doméně aplikace. Je to metoda instance, takže ji lze použít k vykonání kódu v jiné doméně aplikace, ke které máte odkaz. |
|
Vytváří instanci určeného typu v doméně aplikace a vrací proxy server. Použijte tuto metodu, chcete-li se vyhnout načítání sestavení obsahující vytvořený typ do volajícího sestavení. |
|
Provádí elegantní vypnutí domény. Doména aplikace není uvolněna, dokud všechna spuštěná vlákna v doméně byla buď zastavena, nebo již nejsou v doméně. |
Poznámka |
---|
Modul CLR (Common Language Runtime) nepodporuje serializaci globálních metod, takže delegáti nemohou být použiti k provádění globálních metod v jiných doménách aplikace. |
Nespravovaná rozhraní popsaná v common language runtime Hosting Interfaces Specification také poskytují přístup k doménám aplikace. Hostitelská prostředí modulu runtime mohou použít rozhraní z nespravovaného kódu k vytvoření a získání přístupu k doménám aplikace uvnitř procesu.