Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

AppDomainManager, classe

 

Fournit un équivalent managé d’un hôte non managé.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.MarshalByRefObject
    System.AppDomainManager

[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, 
	Flags = SecurityPermissionFlag.Infrastructure)]
public class AppDomainManager : MarshalByRefObject

NomDescription
System_CAPS_pubmethodAppDomainManager()

Initialise une nouvelle instance de la classe AppDomainManager.

NomDescription
System_CAPS_pubpropertyApplicationActivator

Obtient l'activateur d'applications qui gère l'activation des compléments et les applications basées sur un manifeste pour le domaine.

System_CAPS_pubpropertyEntryAssembly

Obtient l'assembly d'entrée pour une application.

System_CAPS_pubpropertyHostExecutionContextManager

Obtient l'hôte de gestionnaire de contexte d'exécution qui gère le flux du contexte d'exécution.

System_CAPS_pubpropertyHostSecurityManager

Obtient le Gestionnaire de sécurité hôte qui fait partie de la sécurité des décisions pour le domaine d'application.

System_CAPS_pubpropertyInitializationFlags

Obtient les indicateurs d'initialisation pour les gestionnaires de domaine d'application personnalisée.

NomDescription
System_CAPS_pubmethodCheckSecuritySettings(SecurityState)

Indique si l'opération spécifiée est autorisée dans le domaine d'application.

System_CAPS_pubmethodCreateDomain(String, Evidence, AppDomainSetup)

Retourne un domaine d'application nouveau ou existant.

System_CAPS_protmethodSystem_CAPS_staticCreateDomainHelper(String, Evidence, AppDomainSetup)

Fournit une méthode d'assistance pour créer un domaine d'application.

System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodInitializeNewDomain(AppDomainSetup)

Initialise le nouveau domaine d'application.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crée une copie superficielle de l'utilisateur actuel MarshalByRefObject objet.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Exception Condition
SecurityException

L’appelant n’a pas les autorisations requises. Consultez la section Configuration requise.

System_CAPS_importantImportant

N'utilisez pas AppDomainManager pour configurer un domaine d'application dans ASP.NET. Dans ASP.NET, la configuration doit être gérée par l'hôte.

L'implémentation de la AppDomainManager classe permet à une application d'hébergement de participer à la création de nouveaux domaines d'application. Pour remplacer la valeur par défaut AppDomainManager, identifiez l'assembly et le type du remplacement AppDomainManager dans les variables d'environnement APPDOMAIN_MANAGER_ASM et APPDOMAIN_MANAGER_TYPE ou utilisez l'et les éléments de votre fichier de configuration. L'assembly doit être entièrement fiable et se trouver dans le global assembly cache ou le répertoire de l'application de départ. Les noms de type et l'assembly doivent être complets dans les variables d'environnement. Exemple :

set APPDOMAIN_MANAGER_TYPE=MyNamespace.TestAppDomainManager

set APPDOMAIN_MANAGER_ASM=customappDomainmanager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f1368f7b12a08d72

System_CAPS_importantImportant

Si l'assembly contenant votre sous-classe de AppDomainManager dépend des assemblys marqués avec conditionnel AllowPartiallyTrustedCallersAttribute attribut (APTCA), vous devez inclure ces assemblys dans la liste que vous passez à le PartialTrustVisibleAssemblies propriété de la AppDomainSetup vous permet de créer des domaines d'application. Sinon, les assemblys marqués avec l'attribut APTCA conditionnel seront désactivées.

Le AppDomainManager est l'équivalent managé de l'hôte non managé. Un AppDomainManager objet participe à la création de nouveaux domaines d'application dans un processus et peut personnaliser le nouveau AppDomain avant l'exécution d'autre code managé. Le AppDomainManager peut également fournir des gestionnaires hôtes qui participent aux autres aspects de l'exécution du common language runtime. Par exemple, un AppDomainManager peut identifier un HostSecurityManager objet qui participe aux décisions de sécurité du domaine d'application.

System_CAPS_noteRemarque

Seuls les assemblys garantis FullTrust, telles que les assemblys dans le global assembly cache ou identifié en tant que fullTrustAssemblies dans les AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) méthode peut être chargée dans le AppDomainManager constructeur et InitializeNewDomain (méthode).

System_CAPS_noteRemarque

Cette classe contient une demande de liaison et une demande d'héritage au niveau de la classe. Un SecurityException est levée lorsque l'appelant immédiat ou la classe dérivée ne dispose pas d'autorisation d'infrastructure. Pour plus d'informations sur les demandes de sécurité, consultez les demandes de liaison et les demandes d'héritage.

L'exemple suivant montre une implémentation très simple de AppDomainManager.

// To replace the default AppDomainManager, identify  the 
// replacement assembly and replacement type in the 
// APPDOMAIN_MANAGER_ASM and APPDOMAIN_MANAGER_TYPE  
// environment variables. For example:
// set APPDOMAIN_MANAGER_TYPE=library.TestAppDomainManager
// set APPDOMAIN_MANAGER_ASM=library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f1368f7b12a08d72

using System;
using System.Collections;
using System.Net;
using System.Reflection;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Security.Principal;
using System.Threading;
using System.Runtime.InteropServices;

[assembly: System.Security.AllowPartiallyTrustedCallersAttribute()]

namespace MyNamespace
{
    [GuidAttribute("F4D15099-3407-4A7E-A607-DEA440CF3891")]
    [SecurityPermissionAttribute(SecurityAction.LinkDemand, 
        Flags = SecurityPermissionFlag.Infrastructure)]
    [SecurityPermissionAttribute(SecurityAction.InheritanceDemand, 
        Flags = SecurityPermissionFlag.Infrastructure)]
    public class MyAppDomainManager : AppDomainManager
    {
        private HostSecurityManager mySecurityManager = null;

        public MyAppDomainManager()
        {
            Console.WriteLine(" My AppDomain Manager ");
            mySecurityManager = AppDomain.CurrentDomain.CreateInstanceAndUnwrap(
                "CustomSecurityManager, Version=1.0.0.3, Culture=neutral, " +
                "PublicKeyToken=5659fc598c2a503e", 
                "MyNamespace.MySecurityManager") as HostSecurityManager;
            Console.WriteLine(" Custom Security Manager Created.");
        }

        public override void InitializeNewDomain(AppDomainSetup appDomainInfo)
        {
            Console.Write("Initialize new domain called:  ");
            Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
            InitializationFlags = 
                AppDomainManagerInitializationOptions.RegisterWithHost;
        }

        public override HostSecurityManager HostSecurityManager
        {
            get
            {
                return mySecurityManager;
            }
        }
    }
}

SecurityCriticalAttribute

Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

SecurityAction.InheritanceDemand

for derived classes to plug executable code into the common language runtime hosting infrastructure. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure.

.NET Framework
Disponible depuis 2.0
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0

Tous les membres statiques (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Retour au début
Afficher: