Domaines d'application (Guide de programmation C#)
Mise à jour : novembre 2007
Les domaines d'application offrent une méthode souple et sécurisée pour isoler les applications en cours d'exécution.
Les domaines d'application sont généralement créés et manipulés par les hôtes à l'exécution. Parfois, vous pouvez souhaiter que votre application interagisse par programme avec vos domaines d'application, par exemple, pour décharger un composant sans devoir pour cela arrêter l'exécution de votre application.
Les domaines d'application participent à la sécurité, en séparant les applications les unes des autres et leurs données respectives. Un seul processus peut exécuter plusieurs domaines d'application, avec le même niveau d'isolation qui existerait dans des processus séparés. L'exécution de plusieurs applications dans un seul processus améliore l'évolutivité du serveur.
Dans l'exemple de code suivant, vous créez un domaine d'application puis chargez et exécutez un assembly déjà créé, HelloWorld.exe, qui est stocké sur le lecteur C.
static void Main()
{
// 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);
}
Vue d'ensemble des domaines d'application
Les domaines d'application ont les propriétés suivantes :
Un assembly doit être chargé dans un domaine d'application avant de pouvoir être exécuté. Pour plus d'informations, consultez Assemblys et le Global Assembly Cache (Guide de programmation C#).
Les erreurs dans un domaine d'application ne peuvent pas affecter un code s'exécutant dans un autre domaine d'application.
Des applications individuelles peuvent être arrêtées et le code déchargé sans que le processus entier soit arrêté. Vous ne pouvez pas décharger des assemblys individuels ou des types, uniquement des domaines d'application entiers.
Rubriques connexes
Programmation à l'aide de domaines d'application et d'assemblys
Exécution de code dans un autre domaine d'application (Guide de programmation C#)
Comment : créer et utiliser un domaine d'application (Guide de programmation C#)
Spécification du langage C#
Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
- 3.1 Démarrage de l'application
Voir aussi
Concepts
Référence
Assemblys et le Global Assembly Cache (Guide de programmation C#)