Tartalomjegyzék:
Meghatározás - Mit jelent az alkalmazás domain?
Az alkalmazástartomány a .NET-alkalmazások körül létrehozott logikai elszigetelési határ, így az alkalmazások nem férnek hozzá, és nem érintik egymást. Ez egy könnyű folyamat, amelynek saját kód-, adat- és konfigurációs beállításai vannak. Az alkalmazástartományokat a futtatóidejű állomások hozza létre, amelyeket a közös nyelvű futási idő (CLR) hív fel, hogy betöltse a végrehajtandó alkalmazásokat.
A .NET elõtt az alkalmazások közötti elválasztási határ azoknak a folyamatoknak volt a befejezése, amelyekben betöltötték azokat. Minden folyamatnak megvan a saját privát virtuális memóriája, és közvetlenül nem fér hozzá egy másik folyamat memóriájához. Az alkalmazástartomány jellemzői hasonlóak a folyamat jellemzőihez.
Az alkalmazástartományok a következő tulajdonságokkal rendelkeznek:
- A rendszer erőforrásainak optimális kihasználása kevesebb folyamat felhasználásával több alkalmazás végrehajtásához.
- Megbízhatóság a feladatok elszigeteltségével olyan helyzetekben, amikor az adatok nem oszthatók meg, valamint olyan instabil feladatok esetén, amelyeket ki kell tölteni anélkül, hogy befolyásolnák a folyamatot.
- Nagyobb hatékonyság hosszú távú folyamatok végrehajtásával, amelyek ritkán használnak nagy kiterjesztéseket, optimális memóriával.
- Az alkalmazás biztonsága azáltal, hogy korlátozza az egyik alkalmazásban futó kódhoz való közvetlen hozzáférést egy másik alkalmazás kódjából vagy erőforrásaiból.
- Biztonsági ellenőrzés azáltal, hogy megadja a konfigurációs részleteket az egyes alkalmazási tartományokon.
A Techopedia magyarázza az alkalmazási tartományt
Az alkalmazástartomány különbözik abban, ahogyan a CLR több .NET-alkalmazást tölt be és hajt végre egy folyamatban. Ez nem teszi lehetővé a betöltött alkalmazások memóriájához való közvetlen hozzáférést. A .NET-keretrendszer CLR kezeli, míg a folyamatot az operációs rendszer kezeli. A CLR hibasszigetelést biztosít az alkalmazási tartományok között, kevesebb fölött, mint a folyamatok, a kezelt kód ellenőrizhető típusbiztonságának velejárója miatt. Ezenkívül több szál is tartózkodhat egy alkalmazás tartományában, szabadon átléphetik az alkalmazás tartományának határait.
Például az ASP.NET egy futásidejű gazdagép, amely több alkalmazás-tartományt hoz létre minden egyes webhelyet elérő felhasználó számára. Ezeket az alkalmazásokat is létrehozhatják és konfigurálhatják, amelyeknek a kód elkülönítésére vagy a kiterjesztések betöltésére csak használatuk alatt van szükségük. Ez a tény hasznosvé teszi az alkalmazás domaineket olyan helyzetekben, ahol plug-ineket és más nem megbízható kódot használnak. Hasznosak a nagy DLL-eket használó alkalmazások működőképességének minimalizálásában is.
A különféle alkalmazási tartományokban lévő objektumok közötti kommunikáció lehetővé tételéhez a következő három objektumtípus egyikét használják:
- Marshal-By-Value: Az objektum teljes másolata, amelyet átadtak a hívó alkalmazás tartományának. Ezt akkor használják, amikor az objektum állapota teljesítménybeli okokból áthelyezhető.
- Marsall-By-Reference-Reference (MBR): Az objektum proxyját átadják az ügyfélnek; akkor használják, amikor az objektum állapotának az alkalmazási tartományon belül kell maradnia.
- Kontextushoz kötött: tartományokban vagy a saját alkalmazástartományában használt MBR objektum.
