AppDomain Classe
TOC
Comprimi il sommario
Espandi il sommario
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 AppDomain

 

Rappresenta un dominio applicazione, ossia un ambiente isolato nel quale vengono eseguite le applicazioni. Questa classe non può essere ereditata.

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


[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, 
	IEvidenceFactory

NomeDescrizione
System_CAPS_pubpropertyActivationContext

Ottiene il contesto di attivazione del dominio applicazione corrente.

System_CAPS_pubpropertyApplicationIdentity

Ottiene l'identità dell'applicazione nel dominio applicazione.

System_CAPS_pubpropertyApplicationTrust

Ottiene informazioni che descrivono le autorizzazioni concesse a un'applicazione e che consentono di stabilire se all'applicazione è associato un livello di attendibilità che ne consente l'esecuzione.

System_CAPS_pubpropertyBaseDirectory

Ottiene la directory di base usata dal resolver dell'assembly per verificare la presenza di assembly.

System_CAPS_pubpropertySystem_CAPS_staticCurrentDomain

Ottiene il dominio applicazione corrente per l'oggetto Thread corrente.

System_CAPS_pubpropertyDomainManager

Ottiene il gestore di dominio fornito dall'host al momento dell'inizializzazione del dominio applicazione.

System_CAPS_pubpropertyDynamicDirectory

Ottiene la directory usata dal resolver dell'assembly per verificare la presenza di assembly creati dinamicamente.

System_CAPS_pubpropertyEvidence

Ottiene l'oggetto Evidence associato al dominio applicazione.

System_CAPS_pubpropertyFriendlyName

Ottiene il nome descrittivo del dominio applicazione.

System_CAPS_pubpropertyId

Ottiene un intero che identifica in modo univoco il dominio applicazione all'interno del processo.

System_CAPS_pubpropertyIsFullyTrusted

Ottiene un valore che indica se gli assembly caricati nel dominio applicazione corrente vengono eseguiti con attendibilità totale.

System_CAPS_pubpropertyIsHomogenous

Ottiene un valore che indica se il dominio applicazione corrente dispone di un set di autorizzazioni concesso a tutti gli assembly caricati nel dominio applicazione.

System_CAPS_pubpropertySystem_CAPS_staticMonitoringIsEnabled

Ottiene o imposta un valore che indica se il monitoraggio della memoria e della CPU dei domini applicazione è abilitato per il processo corrente. Una volta abilitato per un processo, il monitoraggio non può più essere disabilitato.

System_CAPS_pubpropertyMonitoringSurvivedMemorySize

Ottiene il numero di byte esclusi dall'ultima raccolta e a cui fa riferimento il dominio applicazione corrente.

System_CAPS_pubpropertySystem_CAPS_staticMonitoringSurvivedProcessMemorySize

Ottiene i byte totali esclusi dall'ultima raccolta per tutti i domini applicazione nel processo.

System_CAPS_pubpropertyMonitoringTotalAllocatedMemorySize

Ottiene le dimensioni totali, in byte, di tutte le allocazioni di memoria effettuate dal dominio applicazione da quando è stato creato, senza sottrarre la memoria che è stata raccolta.

System_CAPS_pubpropertyMonitoringTotalProcessorTime

Ottiene il tempo del processore totale usato da tutti i thread durante l'esecuzione nel dominio applicazione corrente, da quando il processo è stato avviato.

System_CAPS_pubpropertyPermissionSet

Ottiene il set di autorizzazioni di un dominio applicazione creato mediante sandbox.

System_CAPS_pubpropertyRelativeSearchPath

Ottiene il percorso nella directory di base in cui deve essere verificata la presenza di assembly privati mediante il resolver dell'assembly.

System_CAPS_pubpropertySetupInformation

Ottiene le informazioni sulla configurazione del dominio applicazione per l'istanza.

System_CAPS_pubpropertyShadowCopyFiles

Indica se il dominio applicazione è configurato per eseguire la copia shadow di file.

NomeDescrizione
System_CAPS_pubmethodAppendPrivatePath(String)

Obsoleto.Aggiunge il nome di directory specificato all'elenco di percorsi privati.

System_CAPS_pubmethodApplyPolicy(String)

Restituisce il nome visualizzato dell'assembly dopo l'applicazione dei criteri.

System_CAPS_pubmethodClearPrivatePath()

Obsoleto.Reimposta su stringa vuota ("") il percorso che specifica la posizione degli assembly privati.

System_CAPS_pubmethodClearShadowCopyPath()

Obsoleto.Reimposta su stringa vuota ("") l'elenco di directory contenenti assembly replicati mediante copia shadow.

System_CAPS_pubmethodCreateComInstanceFrom(String, String)

Crea una nuova istanza di un tipo COM specificato. I parametri specificano il nome di un file contenente un assembly che, a sua volta, contiene il tipo e il nome del tipo.

System_CAPS_pubmethodCreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Crea una nuova istanza di un tipo COM specificato. I parametri specificano il nome di un file contenente un assembly che, a sua volta, contiene il tipo e il nome del tipo.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String)

Crea un nuovo dominio applicazione con il nome specificato.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence)

Crea un nuovo dominio applicazione con il nome specificato usando l'evidenza fornita.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, AppDomainSetup)

Crea un nuovo dominio applicazione usando il nome, l'evidenza e le informazioni di installazione del dominio applicazione specificati.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Crea un nuovo dominio applicazione usando il nome, l'evidenza, le informazioni di impostazione del dominio applicazione, il set di autorizzazioni predefinito e la matrice di assembly completamente attendibili specificati.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, String, String, Boolean)

Crea un nuovo dominio applicazione con il nome indicato mediante un'evidenza, un percorso base dell'applicazione, un percorso di ricerca relativo e un parametro che specifica se nel dominio applicazione deve essere caricata la copia shadow di un assembly.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Crea un nuovo dominio applicazione con il nome indicato mediante un'evidenza, un percorso base dell'applicazione, un percorso di ricerca relativo e un parametro che specifica se nel dominio applicazione deve essere caricata la copia shadow di un assembly. Specifica un metodo di callback che viene richiamato quando viene inizializzato il dominio applicazione e indica una matrice di argomenti stringa da passare al metodo di callback.

System_CAPS_pubmethodCreateInstance(String, String)

Crea una nuova istanza del tipo specificato definito nell'assembly specificato.

System_CAPS_pubmethodCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano uno strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti e gli attributi di attivazione facoltativi.

System_CAPS_pubmethodCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Obsoleto.Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano lo strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti, gli attributi di attivazione e l'autorizzazione per la creazione del tipo.

System_CAPS_pubmethodCreateInstance(String, String, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. Un parametro specifica una matrice di attributi di attivazione.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String)

Crea una nuova istanza del tipo specificato. I parametri specificano l'assembly in cui è definito il tipo e il nome del tipo.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato, indicando se ignorare le maiuscole/minuscole del nome del tipo, gli attributi e lo strumento di associazione usati per selezionare il tipo da creare, gli argomenti del costruttore, le impostazioni cultura e gli attributi di attivazione.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Obsoleto.Crea una nuova istanza del tipo specificato. I parametri specificano il nome del tipo e le relative modalità di individuazione e creazione.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Object[])

Crea una nuova istanza del tipo specificato. I parametri specificano l'assembly in cui è definito il tipo, il nome del tipo e una matrice di attributi di attivazione.

System_CAPS_pubmethodCreateInstanceFrom(String, String)

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Obsoleto.Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFrom(String, String, Object[])

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String)

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato, indicando se ignorare le maiuscole/minuscole del nome del tipo, gli attributi e lo strumento di associazione usati per selezionare il tipo da creare, gli argomenti del costruttore, le impostazioni cultura e gli attributi di attivazione.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Obsoleto.Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Object[])

Crea una nuova istanza del tipo specificato definito nel file di assembly specificato.

System_CAPS_pubmethodCreateObjRef(Type)

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

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)

Definisce un assembly dinamico con nome e modalità di accesso specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)

Obsoleto.Definisce un assembly dinamico tramite il nome, la modalità di accesso e l'evidenza specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)

Obsoleto.Definisce un assembly dinamico usando il nome, la modalità di accesso, l'evidenza e le richieste di autorizzazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)

Definisce un assembly dinamico con il nome, la modalità di accesso e gli attributi personalizzati specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource)

Definisce un assembly dinamico con il nome, la modalità di accesso e gli attributi personalizzati specificati e usando il database di origine specificato per il contesto di sicurezza.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)

Obsoleto.Definisce un assembly dinamico usando il nome, la modalità di accesso e le richieste di autorizzazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String)

Definisce un assembly dinamico usando il nome, la modalità di accesso e la directory di archiviazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)

Definisce un assembly dinamico usando il nome, la modalità di accesso, la directory di archiviazione e l'opzione di sincronizzazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)

Obsoleto.Definisce un assembly dinamico mediante il nome, la modalità di accesso, la directory di archiviazione e l'evidenza specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)

Obsoleto.Definisce un assembly dinamico usando il nome, la modalità di accesso, la directory di archiviazione, l'evidenza e le richieste di autorizzazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)

Obsoleto.Definisce un assembly dinamico usando il nome, la modalità di accesso, la directory di archiviazione, l'evidenza, le richieste di autorizzazione e l'opzione di sincronizzazione specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)

Obsoleto.Definisce un assembly dinamico con il nome, la modalità di accesso, la directory di archiviazione, l'evidenza, le richieste di autorizzazione, l'opzione di sincronizzazione e gli attributi personalizzati specificati.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)

Obsoleto.Definisce un assembly dinamico usando il nome, la modalità di accesso, la directory di archiviazione e le richieste di autorizzazione specificati.

System_CAPS_pubmethodDoCallBack(CrossAppDomainDelegate)

Esegue il codice in un altro dominio applicazione, identificato dal delegato specificato.

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_pubmethodExecuteAssembly(String)

Esegue l'assembly contenuto nel file specificato.

System_CAPS_pubmethodExecuteAssembly(String, Evidence)

Obsoleto.Esegue l'assembly contenuto nel file specificato usando l'evidenza specificata.

System_CAPS_pubmethodExecuteAssembly(String, Evidence, String[])

Obsoleto.Esegue l'assembly contenuto nel file specificato usando l'evidenza e gli argomenti specificati.

System_CAPS_pubmethodExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)

Obsoleto.Esegue l'assembly contenuto nel file specificato, usando l'evidenza, gli argomenti, il valore hash e l'algoritmo hash specificati.

System_CAPS_pubmethodExecuteAssembly(String, String[])

Esegue l'assembly contenuto nel file specificato, usando gli argomenti specificati.

System_CAPS_pubmethodExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)

Esegue l'assembly contenuto nel file specificato, usando gli argomenti, il valore hash e l'algoritmo hash specificati.

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName, Evidence, String[])

Obsoleto.Esegue l'assembly in base a un dato oggetto AssemblyName, usando l'evidenza e gli argomenti specificati.

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName, String[])

Esegue l'assembly in base a un oggetto AssemblyName, usando gli argomenti specificati.

System_CAPS_pubmethodExecuteAssemblyByName(String)

Esegue un assembly in base al nome visualizzato.

System_CAPS_pubmethodExecuteAssemblyByName(String, Evidence)

Obsoleto.Esegue un assembly in base al nome visualizzato, usando l'evidenza specificata.

System_CAPS_pubmethodExecuteAssemblyByName(String, Evidence, String[])

Obsoleto.Esegue l'assembly in base al nome visualizzato, usando l'evidenza e gli argomenti specificati.

System_CAPS_pubmethodExecuteAssemblyByName(String, String[])

Esegue l'assembly in base al nome visualizzato, usando gli argomenti specificati.

System_CAPS_pubmethodGetAssemblies()

Ottiene gli assembly caricati nel contesto di esecuzione del dominio applicazione.

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentThreadId()

Obsoleto.Ottiene l'identificatore del thread attuale.

System_CAPS_pubmethodGetData(String)

Ottiene il valore archiviato nel dominio applicazione attuale per il nome specificato.

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 il tipo dell'istanza corrente.

System_CAPS_pubmethodInitializeLifetimeService()

Fornisce all'oggetto AppDomain una durata infinita impedendo la creazione di lease.(Esegue l’override di MarshalByRefObject.InitializeLifetimeService()).

System_CAPS_pubmethodIsCompatibilitySwitchSet(String)

Ottiene un valore booleano che ammette valori Null, indica se sono impostate opzioni di compatibilità e, in tal caso, se è impostata l'opzione di compatibilità specificata.

System_CAPS_pubmethodIsDefaultAppDomain()

Restituisce un valore che indica se il dominio applicazione è quello predefinito per il processo.

System_CAPS_pubmethodIsFinalizingForUnload()

Indica se è in corso lo scaricamento del dominio applicazione e se il completamento degli oggetti in esso contenuti è stato avviato in Common Language Runtime.

System_CAPS_pubmethodLoad(AssemblyName)

Carica Assembly, dato il relativo AssemblyName.

System_CAPS_pubmethodLoad(AssemblyName, Evidence)

Obsoleto.Carica Assembly, dato il relativo AssemblyName.

System_CAPS_pubmethodLoad(Byte[])

Carica l'oggetto Assembly con un'immagine in formato COFF (Common Object File Format) contenente un oggetto Assembly generato.

System_CAPS_pubmethodLoad(Byte[], Byte[])

Carica l'oggetto Assembly con un'immagine in formato COFF (Common Object File Format) contenente un oggetto Assembly generato. Vengono caricati anche i byte non elaborati che rappresentano i simboli per l'oggetto Assembly.

System_CAPS_pubmethodLoad(Byte[], Byte[], Evidence)

Obsoleto.Carica l'oggetto Assembly con un'immagine in formato COFF (Common Object File Format) contenente un oggetto Assembly generato. Vengono caricati anche i byte non elaborati che rappresentano i simboli per l'oggetto Assembly.

System_CAPS_pubmethodLoad(String)

Carica Assembly, dato il nome visualizzato.

System_CAPS_pubmethodLoad(String, Evidence)

Obsoleto.Carica Assembly, dato il nome visualizzato.

System_CAPS_pubmethodReflectionOnlyGetAssemblies()

Restituisce gli assembly caricati nel contesto ReflectionOnly del dominio applicazione.

System_CAPS_pubmethodSetAppDomainPolicy(PolicyLevel)

Obsoleto.Imposta il livello dei criteri di sicurezza per il dominio applicazione.

System_CAPS_pubmethodSetCachePath(String)

Obsoleto.Imposta il percorso di directory specificato come percorso in cui vengono replicati gli assembly mediante copia shadow.

System_CAPS_pubmethodSetData(String, Object)

Assegna il valore specificato alla proprietà specificata del dominio applicazione.

System_CAPS_pubmethodSetData(String, Object, IPermission)

Assegna il valore specificato alla proprietà del dominio applicazione indicata, con una determinata autorizzazione di richiesta del chiamante quando viene recuperata la proprietà.

System_CAPS_pubmethodSetDynamicBase(String)

Obsoleto.Imposta il percorso di directory specificato come directory di base per sottodirectory in cui vengono archiviati i file generati dinamicamente e tramite cui si accede a questi ultimi.

System_CAPS_pubmethodSetPrincipalPolicy(PrincipalPolicy)

Specifica come collegare oggetti Principal e Identity a un thread se si tenta di associare il thread a un Principal durante l'esecuzione nel dominio applicazione.

System_CAPS_pubmethodSetShadowCopyFiles()

Obsoleto.Attiva la replica tramite copia shadow.

System_CAPS_pubmethodSetShadowCopyPath(String)

Obsoleto.Imposta il percorso di directory specificato come percorso degli assembly da replicare mediante copia shadow.

System_CAPS_pubmethodSetThreadPrincipal(IPrincipal)

Imposta l'oggetto Principal predefinito da collegare ai thread se si tenta di associare questi ultimi a un oggetto Principal durante l'esecuzione nel dominio applicazione.

System_CAPS_pubmethodToString()

Ottiene una rappresentazione di stringa che comprende il nome descrittivo del dominio applicazione e qualsiasi criterio di contesto.(Esegue l’override di Object.ToString()).

System_CAPS_pubmethodSystem_CAPS_staticUnload(AppDomain)

Scarica il dominio applicazione corrente.

NomeDescrizione
System_CAPS_pubeventAssemblyLoad

Si verifica al caricamento di un assembly.

System_CAPS_pubeventAssemblyResolve

Si verifica quando la risoluzione di un assembly ha esito negativo.

System_CAPS_pubeventDomainUnload

Si verifica quando un oggetto AppDomain sta per essere scaricato.

System_CAPS_pubeventFirstChanceException

Si verifica quando un'eccezione viene generata in codice gestito prima che il runtime cerchi un gestore di eccezioni nello stack di chiamate del dominio applicazione.

System_CAPS_pubeventProcessExit

Si verifica alla chiusura del processo padre del dominio applicazione predefinito.

System_CAPS_pubeventReflectionOnlyAssemblyResolve

Si verifica quando la risoluzione di un assembly ha esito negativo nel contesto ReflectionOnly.

System_CAPS_pubeventResourceResolve

Si verifica quando la risoluzione di una risorsa ha esito negativo in quanto la risorsa stessa non è una risorsa collegata valida o non è incorporata nell'assembly.

System_CAPS_pubeventTypeResolve

Si verifica quando la risoluzione di un tipo non riesce.

System_CAPS_pubeventUnhandledException

Si verifica quando non viene intercettata un'eccezione.

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un corrispondente set di identificatori di dispatch.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sui tipi che un oggetto fornisce (0 o 1).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso alle proprietà ed ai metodi esposti da un oggetto.

Domini applicazione, che sono rappresentati da AppDomain oggetti, forniscono limiti di isolamento, scaricamento e sicurezza per l'esecuzione di codice gestito.

  • Utilizzare i domini applicazione per isolare le operazioni che potrebbero arrestare un processo. Se lo stato di AppDomain che esegue un'attività diventa instabile, il AppDomain può essere scaricato senza interferire con il processo. Questo è importante quando un processo deve essere eseguito per lunghi periodi senza riavviare il computer. È inoltre possibile utilizzare domini applicazione per isolare le attività che non devono condividere dati.

  • Se un assembly viene caricato nel dominio applicazione predefinito, non può essere scaricata dalla memoria durante l'esecuzione del processo. Tuttavia, se si apre un secondo dominio di applicazione per caricare ed eseguire l'assembly, l'assembly viene scaricato quando tale dominio applicazione viene scaricato. Utilizzare questa tecnica per ridurre al minimo il working set di processi a esecuzione prolungata che talvolta utilizzano DLL di grandi dimensioni.

Più domini applicazione è possono eseguire su un singolo processo. Tuttavia, non c'è un relazione uno a uno tra domini applicazione e thread. Più thread può appartenere a un solo dominio applicazione e durante un determinato thread non è confinato a un singolo dominio applicazione, in qualsiasi momento, un thread viene eseguito in un solo dominio applicazione.

Domini applicazione vengono creati utilizzando il CreateDomain metodo. AppDomain le istanze vengono utilizzate per caricare ed eseguire assembly (Assembly). Quando un AppDomain è non è più in uso, può essere scaricato.

La AppDomain classe implementa un set di eventi che consentono alle applicazioni di rispondere quando viene caricato un assembly, quando verrà scaricato un dominio applicazione o quando viene generata un'eccezione non gestita.

Per ulteriori informazioni sull'utilizzo dei domini applicazione, vedere Domini applicazione.

Questa classe implementa il MarshalByRefObject, _AppDomain, e IEvidenceFactory interfacce.

È consigliabile non creare mai un wrapper utilizzabile in remoto per un AppDomain oggetto. In questo modo è possibile pubblicare un riferimento remoto a cui AppDomain, esponendo metodi quali CreateInstance all'accesso remoto ed eliminando di fatto la sicurezza dall'accesso di codice che AppDomain. Client non autorizzati di connessione per l'accesso remoto AppDomain è stato possibile accedere a qualsiasi risorsa il AppDomain dispone di accesso a. Non creare wrapper remotizzabili per qualsiasi tipo che estende MarshalByRefObject e che implementa metodi che potrebbero essere utilizzati da client non autorizzati per eludere il sistema di sicurezza.

System_CAPS_cautionAttenzione

Il valore predefinito per il AppDomainSetup.DisallowCodeDownload è false. Questa impostazione è sicura per i servizi. Per impedire a servizi di download di codice parzialmente attendibile, impostare questa proprietà su true.

In questo esempio viene illustrato come creare un nuovo AppDomain, creare un'istanza di un tipo nel nuovo AppDomain, e comunicare con l'oggetto di quel tipo. Inoltre, in questo esempio viene illustrato come scaricare il AppDomain causa l'oggetto di garbage collection.

using System;
using System.Reflection;
using System.Threading;

class Module1
{
    public static void Main()
    {
        // Get and display the friendly name of the default AppDomain.
        string callingDomainName = Thread.GetDomain().FriendlyName;
        Console.WriteLine(callingDomainName);

        // Get and display the full name of the EXE assembly.
        string exeAssembly = Assembly.GetEntryAssembly().FullName;
        Console.WriteLine(exeAssembly);

        // Construct and initialize settings for a second AppDomain.
        AppDomainSetup ads = new AppDomainSetup();
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

        ads.DisallowBindingRedirects = false;
        ads.DisallowCodeDownload = true;
        ads.ConfigurationFile = 
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

        // Create the second AppDomain.
        AppDomain ad2 = AppDomain.CreateDomain("AD #2", null, ads);

        // Create an instance of MarshalbyRefType in the second AppDomain. 
        // A proxy to the object is returned.
        MarshalByRefType mbrt = 
            (MarshalByRefType) ad2.CreateInstanceAndUnwrap(
                exeAssembly, 
                typeof(MarshalByRefType).FullName
            );

        // Call a method on the object via the proxy, passing the 
        // default AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName);

        // Unload the second AppDomain. This deletes its object and 
        // invalidates the proxy object.
        AppDomain.Unload(ad2);
        try
        {
            // Call the method again. Note that this time it fails 
            // because the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName);
            Console.WriteLine("Sucessful call.");
        }
        catch(AppDomainUnloadedException)
        {
            Console.WriteLine("Failed call; this is expected.");
        }
    }
}

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
public class MarshalByRefType : MarshalByRefObject
{
    //  Call this method via a proxy.
    public void SomeMethod(string callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads.ApplicationName, 
            ads.ApplicationBase, 
            ads.ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread.GetDomain().FriendlyName
        );
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */

.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0

Eventuali membri pubblici statici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.

Torna all'inizio
Mostra:
© 2016 Microsoft