Istruzioni per la programmazione asincrona

La programmazione asincrona è una funzionalità supportata da numerose aree di Common Language Runtime, ad esempio Remoting, ASP.NET e Windows Forms. La programmazione asincrona è un concetto chiave in .NET Framework. In questo argomento viene descritto il modello di progettazione per la programmazione asincrona.

Di seguito è indicata la logica alla base di queste istruzioni.

  • È necessario che il client decida se una particolare chiamata deve essere asincrona.
  • Non è necessario che il server esegua attività di programmazione aggiuntive per supportare il comportamento asincrono del client. L'ambiente di esecuzione deve essere in grado di gestire la differenza tra le viste client e server. Viene evitata quindi la situazione in cui il server deve implementare IDispatch ed eseguire numerose attività aggiuntive per supportare la chiamata dinamica da parte dei client.
  • Il server può scegliere di supportare in modo esplicito il comportamento asincrono in quanto può implementare un comportamento di questo tipo in modo più efficiente di un'architettura generale o in quanto intende supportare solo il comportamento asincrono da parte dei client. È consigliabile che per tali server venga seguito il modello di progettazione delineato in questo documento per l'esposizione delle operazioni asincrone.
  • È necessario impostare l'indipendenza dai tipi.
  • Vengono forniti i servizi necessari per supportare il modello di programmazione asincrona. Sono inclusi i servizi indicati di seguito.
    • Primitive di sincronizzazione, ad esempio sezioni critiche e istanze ReaderWriterLock.
    • Costrutti di sincronizzazione, ad esempio contenitori che supportano il metodo WaitForMultipleObjects.
    • Pool di thread.
    • Esposizione all'infrastruttura sottostante, ad esempio gli oggetti Message e ThreadPool.

Vedere anche

Istruzioni di progettazione per gli sviluppatori di librerie di classi | Modello di progettazione della programmazione asincrona