Accueil Développement Qu'est-ce qu'un domaine d'application dans .net? - définition de techopedia

Qu'est-ce qu'un domaine d'application dans .net? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie domaine d'application?

Un domaine d'application est une limite d'isolement logique créée autour des applications .NET afin que les applications ne se consultent pas ou ne s'affectent pas. Il s'agit d'un processus léger ayant son propre ensemble de paramètres de code, de données et de configuration. Les domaines d'application sont créés par les hôtes d'exécution, qui sont invoqués par le Common Language Runtime (CLR) pour charger les applications à exécuter.


Avant .NET, la frontière d'isolement entre les applications était le processus dans lequel elles étaient chargées. Chaque processus avait sa propre mémoire virtuelle privée et ne peut pas accéder directement à la mémoire d'un autre processus. Le domaine d'application a des fonctionnalités similaires à celles d'un processus.


Les domaines d'application ont les fonctionnalités suivantes:

  1. Utilisation optimale des ressources système en utilisant moins de processus pour exécuter plusieurs applications.
  2. Fiabilité en utilisant l'isolement des tâches dans les situations où les données ne peuvent pas être partagées et pour les tâches instables qui doivent être déchargées sans affecter le processus.
  3. Meilleure efficacité en exécutant des processus de longue durée qui utilisent rarement de grandes extensions avec une mémoire optimale.
  4. Sécurité des applications en restreignant l'accès direct au code exécuté dans une application à partir du code ou des ressources d'une autre application.
  5. Contrôle de sécurité en spécifiant les détails de configuration pour chaque domaine d'application.

Techopedia explique le domaine d'application

Le domaine d'application diffère dans la manière dont le CLR charge et exécute plusieurs applications .NET en un seul processus. Il ne permet pas d'accéder directement à la mémoire des applications chargées. Il est géré par le CLR du .NET Framework tandis qu'un processus est géré par l'OS. Le CLR fournit une isolation des pannes entre les domaines d'application avec moins de surcharge que les processus, en raison de sa caractéristique inhérente de sécurité de type vérifiable du code managé. En outre, plusieurs threads peuvent résider dans un domaine d'application, ils sont libres de franchir les limites du domaine d'application.


Par exemple, ASP.NET est un hôte d'exécution qui crée plusieurs domaines d'application pour chaque utilisateur accédant à un site Web. Ils peuvent également être créés et configurés pour des applications qui doivent isoler du code ou charger des extensions uniquement lors de leur utilisation. Ce fait rend les domaines d'application utiles dans les situations où des plug-ins et d'autres codes non approuvés sont utilisés. Ils sont également utiles pour minimiser l'ensemble de travail des applications qui utilisent de grandes DLL.


Pour permettre la communication entre des objets dans différents domaines d'application, l'un des trois types d'objets suivants est utilisé:

  1. Marshal-By-Value: copie complète de l'objet transmis au domaine d'application appelant. Ceci est utilisé lorsque l'état de l'objet peut être déplacé pour des raisons de performances.
  2. Marshal-By-Reference-Reference (MBR): un proxy de l'objet est transmis au client; utilisé lorsque l'état de l'objet doit rester dans le domaine d'application.
  3. En fonction du contexte: objet MBR utilisé sur plusieurs domaines ou dans le contexte de son propre domaine d'application.
Cette définition a été écrite dans le contexte de .NET
Qu'est-ce qu'un domaine d'application dans .net? - définition de techopedia