Condividi tramite


Operazioni asincrone

Scarica ADO.NET

Per il completamento di alcune operazioni del database, ad esempio le esecuzioni di comandi, può essere richiesto molto tempo. In questi casi usare le applicazioni a thread singolo per bloccare le altre operazioni e attendere il completamento del comando prima di riprenderle. Invece, la possibilità di assegnare un'operazione con esecuzione prolungata a un thread in background consente di mantenere attivo il thread in primo piano per tutta l'operazione. In un'applicazione Windows, ad esempio, la delega dell'operazione con esecuzione prolungata a un thread in background consente al thread dell'interfaccia utente di rimanere reattivo mentre viene eseguita l'operazione.

.NET offre diversi modelli di progettazione asincrona standard che possono essere usati dagli sviluppatori per sfruttare i vantaggi dei thread in background e liberare l'interfaccia utente o i thread con priorità elevata per completare altre operazioni nella classe SqlCommand. In particolare, i metodi BeginExecuteNonQuery, BeginExecuteReader e BeginExecuteXmlReader, abbinati ai metodi EndExecuteNonQuery, EndExecuteReader e EndExecuteXmlReader, offrono il supporto asincrono.

Nota

La programmazione asincrona è una funzionalità di base di .NET. Per altre informazioni sulle diverse tecniche asincrone disponibili per gli sviluppatori, vedere Chiamata di metodi sincroni in modalità asincrona.

Benché l'uso di tecniche asincrone con le funzionalità di ADO.NET non richieda particolari considerazioni, è importante sapere quali sono i vantaggi e le insidie della creazione delle applicazioni multithreading. Gli esempi riportati in questa sezione evidenziano diversi aspetti importanti che gli sviluppatori dovranno tenere in considerazione durante la creazione di applicazioni che incorporano funzionalità multithreading.

In questa sezione

Applicazioni Windows tramite callback
Include un esempio che illustra come eseguire un comando asincrono in modo sicuro, gestendo correttamente l'interazione con un modulo e il relativo contenuto da un thread separato.

Applicazioni ASP.NET tramite handle di attesa
Questo documento propone un esempio che spiega come eseguire più comandi simultanei da una pagina ASP.NET, usando gli handle di attesa per gestire l'operazione al completamento di tutti i comandi.

Polling in applicazioni console
È disponibile un esempio che illustra l'uso del polling per attendere il completamento dell'esecuzione di un comando asincrono da un'applicazione console. Questa tecnica è valida anche in una libreria di classi o in un'altra applicazione senza interfaccia utente.

Passaggi successivi