Condividi tramite


Scrittura di un'applicazione transazionale

[Questo argomento è una versione preliminare della documentazione e può essere soggetto a modifiche nelle versioni future. Sono presenti anche argomenti vuoti, utilizzati come segnaposto].

I programmatori di applicazioni transazionali possono utilizzare i due modelli di programmazione forniti dallo spazio dei nomi System.Transactions per creare una transazione. È possibile utilizzare il modello di programmazione esplicita tramite la classe Transaction oppure il modello di programmazione implicita, in cui le transazioni vengono gestite automaticamente dall'infrastruttura mediante la classe TransactionScope. Per le attività di sviluppo è consigliabile utilizzare il modello transazionale implicito. Nell'argomento Implementazione di una transazione implicita mediante l'ambito di transazione sono disponibili ulteriori informazioni sull'utilizzo degli ambiti di transazione.

Entrambi i modelli supportano il commit delle transazioni quando il programma raggiunge uno stato coerente. Se il commit riesce, il sistema esegue il commit permanente della transazione. Se il commit non riesce, la transazione viene interrotta. Se risulta impossibile completare correttamente una transazione, il programma dell'applicazione tenta di interromperla e quindi di annullarne gli effetti.

Argomenti della sezione

Creazione di una transazione

Lo spazio dei nomi System.Transactions offre due modelli per creare una transazione. Questi modelli vengono descritti negli argomenti seguenti.

Implementazione di una transazione implicita mediante l'ambito di transazione

Descrive il modo in cui lo spazio dei nomi System.Transactions supporta la creazione di transazioni implicite mediante la classe TransactionScope.

Implementazione di una transazione esplicita mediante CommittableTransaction

Descrive il modo in cui lo spazio dei nomi System.Transactions supporta la creazione di transazioni esplicite mediante la classe CommittableTransaction.

Gestione dell'escalation delle transazioni

Quando una transazione deve accedere a una risorsa contenuta in un altro dominio applicazione oppure quando si desidera integrare le risorse in un altro gestore di risorse durevoli, il sistema esegue automaticamente l'escalation di tale transazione in modo che venga gestita dal gestore MSDTC. L'escalation delle transazioni viene descritta nell'argomento Escalation della gestione delle transazioni.

Concorrenza

Nell'argomento Gestione della concorrenza con DependentTransaction viene descritto come è possibile ottenere la concorrenza fra attività asincrone tramite la classe DependentTransaction class.

Interoperabilità COM+

L'argomento Interoperabilità con transazioni COM+ ed Enterprise Services illustra come è possibile definire un'interazione fra le transazioni distribuite e le transazioni COM+.

Diagnostica

L'argomento Tracce di diagnostica descrive come è possibile utilizzare i codici di traccia generati dall'infrastruttura System.Transactions per risolvere i problemi che si verificano nelle applicazioni utilizzate.

Utilizzo delle funzionalità all'interno di ASP.NET

L'argomento Utilizzo di System.Transactions in ASP.NET descrive il modo in cui è possibile utilizzare correttamente lo spazio dei nomi System.Transactions all'interno di un'applicazione ASP.NET.