Taula de continguts:
Definició: què significa el domini d'aplicació?
Un domini d’aplicació és un límit d’aïllament lògic creat al voltant d’aplicacions .NET de manera que les aplicacions no accedeixen ni s’afecten les unes a les altres. És un procés lleuger que té un conjunt propi de codi, dades i configuració. Els dominis d’aplicacions són creats pels amfitrions d’execució, que són invocats pel llenguatge d’execució comú (CLR) per carregar les aplicacions que cal executar.
Abans de .NET, el límit d’aïllament entre aplicacions eren els processos en què es carregaven. Cada procés tenia la seva memòria virtual privada i no pot accedir directament a la memòria d’un altre procés. El domini d'aplicació té funcions similars a les d'un procés.
Els dominis d'aplicació tenen les següents característiques:
- Utilització òptima dels recursos del sistema mitjançant menys processos per executar diverses aplicacions.
- Fiabilitat mitjançant l’aïllament de tasques en situacions en què les dades no es poden compartir i per a tasques inestables que cal descarregar-se sense afectar el procés.
- Millor eficiència executant processos de llarga durada que rarament utilitzen extensions grans amb una memòria òptima.
- Seguretat de l’aplicació restringint l’accés directe al codi que s’executa en una aplicació del codi o recursos d’una altra aplicació.
- Control de seguretat especificant detalls de configuració al llarg de cada domini d'aplicació.
Techopedia explica el domini de l'aplicació
El domini d'aplicació difereix de la manera que el CLR carrega i executa múltiples aplicacions .NET en un sol procés. No permet l’accés directe a la memòria d’aplicacions carregades. Està gestionat pel CLR del .NET Framework mentre que un procés és gestionat pel sistema operatiu. El CLR proporciona un aïllament de falles entre els dominis de l'aplicació amb menys despeses que els processos, a causa de la seva característica inherent a la seguretat verificable del tipus de codi gestionat. A més, diversos fils poden residir en un domini d'aplicació, ja que poden travessar els límits del domini de l'aplicació.
Per exemple, ASP.NET és un host d’execució que crea diversos dominis d’aplicació per a cada usuari que accedeix a un lloc web. També es poden crear i configurar per a aplicacions que necessiten aïllar codi o carregar extensions només mentre les utilitzeu. Aquest fet fa que els dominis d’aplicacions siguin útils en situacions en què s’utilitzin complements i altres codis no confiables. També són útils per minimitzar el conjunt de treball d’aplicacions que utilitzen grans DLL.
Per habilitar la comunicació entre objectes de diferents dominis d’aplicació s’utilitza un dels tres tipus d’objectes següents:
- Marshal-By-Value: còpia completa de l’objecte passat al domini de l’aplicació que truca. S'utilitza quan l'estat d'objecte es pot moure per motius de rendiment.
- Marshal-By-Reference-Reference (MBR): un proxy de l’objecte es passa al client; s'utilitza quan l'estat de l'objecte ha de romandre dins del domini d'aplicació.
- Lligat al context: objecte MBR utilitzat en dominis o en el context del seu propi domini d'aplicació.
