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
We recommend using Visual Studio 2017
Questa documentazione è stata archiviata e non viene gestita.

Domini delle applicazioni (C# e Visual Basic)

I domini applicazione costituiscono un metodo flessibile e protetto per l'isolamento delle applicazioni in esecuzione.

I domini applicazione vengono in genere creati e modificati dagli host di runtime. In alcuni casi può essere necessario che l'applicazione interagisca a livello di codice con i domini, ad esempio per scaricare un componente senza che venga interrotta l'esecuzione dell'applicazione.

I domini applicazione favoriscono la sicurezza, separando le singole applicazioni e i rispettivi dati. Un singolo processo può eseguire più domini applicazione, con lo stesso livello di isolamento che si otterrebbe utilizzando processi separati. L'esecuzione di più applicazioni all'interno di un singolo processo consente di aumentare il livello di scalabilità del server.

Nell'esempio di codice riportato di seguito viene creato un nuovo dominio applicazione e viene quindi caricato ed eseguito un assembly compilato in precedenza, HelloWorld.exe, archiviato nell'unità C.


// 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);


I domini applicazione sono caratterizzati dalle seguenti proprietà:

  • Per poter essere eseguito, un assembly deve essere caricato in un dominio applicazione. Per ulteriori informazioni, vedere Assembly e Global Assembly Cache (C# e Visual Basic).

  • Gli errori di un dominio applicazione non influiscono sul codice in esecuzione in un altro dominio applicazione.

  • È possibile interrompere l'esecuzione di singole applicazioni e scaricare codice senza arrestare l'intero processo. Non è possibile scaricare singoli assembly o tipi, ma solo interi domini applicazione.

Mostra: