Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe AppDomainManager

 

Data di pubblicazione: ottobre 2016

Fornisce un equivalente gestito di un host non gestito.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)


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

NomeDescrizione
System_CAPS_pubmethodAppDomainManager()

Inizializza una nuova istanza della classe AppDomainManager.

NomeDescrizione
System_CAPS_pubpropertyApplicationActivator

Ottiene l'attivatore di applicazioni che gestisce l'attivazione di componenti aggiuntivi e le applicazioni basate su manifesto per il dominio.

System_CAPS_pubpropertyEntryAssembly

Ottiene l'assembly di ingresso per un'applicazione.

System_CAPS_pubpropertyHostExecutionContextManager

Ottiene l'host di gestione di contesto di esecuzione che gestisce il flusso del contesto di esecuzione.

System_CAPS_pubpropertyHostSecurityManager

Ottiene il gestore di protezione host che fa parte di sicurezza decisioni per il dominio applicazione.

System_CAPS_pubpropertyInitializationFlags

Ottiene i flag di inizializzazione per i gestori del dominio applicazione personalizzata.

NomeDescrizione
System_CAPS_pubmethodCheckSecuritySettings(SecurityState)

Indica se l'operazione specificata è consentita nel dominio dell'applicazione.

System_CAPS_pubmethodCreateDomain(String, Evidence, AppDomainSetup)

Restituisce un dominio applicazione nuova o esistente.

System_CAPS_protmethodSystem_CAPS_staticCreateDomainHelper(String, Evidence, AppDomainSetup)

Fornisce un metodo helper per creare un dominio applicazione.

System_CAPS_pubmethodCreateObjRef(Type)

Crea un oggetto che contiene le informazioni necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodInitializeNewDomain(AppDomainSetup)

Inizializza il nuovo dominio applicazione.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject oggetto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

Exception Condition
SecurityException

Il chiamante non ha le autorizzazioni corrette. Vedere la sezione Requisiti.

System_CAPS_importantImportante

Non utilizzare AppDomainManager per configurare un dominio applicazione in ASP.NET. In ASP.NET, configurazione deve essere gestita dall'host.

Implementazione di AppDomainManager classe consente a un'applicazione host di partecipare alla creazione di nuovi domini applicazione. Per sostituire il valore predefinito AppDomainManager, identificare l'assembly e tipo della sostituzione AppDomainManager in variabili di ambiente APPDOMAIN_MANAGER_ASM e APPDOMAIN_MANAGER_TYPE oppure utilizzare il <appDomainManagerAssembly> e <appDomainManagerType> elementi nel file di configurazione.</appDomainManagerType> </appDomainManagerAssembly> L'assembly deve essere completamente attendibile e contenuto nella global assembly cache o nella directory dell'applicazione di avvio. I nomi di tipo e assembly devono essere completi nelle variabili di ambiente. Ad esempio:

set APPDOMAIN_MANAGER_TYPE=MyNamespace.TestAppDomainManager

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

System_CAPS_importantImportante

Se l'assembly che contiene una sottoclasse di AppDomainManager dipende da assembly contrassegnati con condizionale AllowPartiallyTrustedCallersAttribute attributo (APTCA), è necessario includere tali assembly nell'elenco passato al PartialTrustVisibleAssemblies proprietà del AppDomainSetup consente di creare i domini applicazione. In caso contrario, gli assembly contrassegnati con l'attributo APTCA condizionale verranno disabilitati.

Il AppDomainManager è l'equivalente gestito di host non gestito. Un AppDomainManager oggetto partecipa alla creazione di nuovi domini applicazione in un processo che è possibile personalizzare il nuovo AppDomain prima che venga eseguita l'altro codice gestito. Il AppDomainManager può inoltre fornire gestori host che fanno parte di altri aspetti dell'esecuzione di common language runtime. Ad esempio, un AppDomainManager possibile identificare un HostSecurityManager oggetto che partecipa le decisioni relative alla sicurezza del dominio dell'applicazione.

System_CAPS_noteNota

Solo gli assembly concesso FullTrust, ad esempio gli assembly nella global assembly cache o identificato come fullTrustAssemblies nel AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) metodo può essere caricato nel AppDomainManager costruttore e InitializeNewDomain (metodo).

System_CAPS_noteNota

Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe. Oggetto SecurityException viene generata quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di infrastruttura. Per informazioni dettagliate sui requisiti di sicurezza, vedere Link Demands e richieste di ereditarietà.

Nell'esempio seguente viene illustrata un'implementazione molto semplice di 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
Disponibile da 2.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: