Condividi tramite


Scrittura di un'applicazione transazionale

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 usare il modello di transazione implicita. Per altre informazioni su come usare un ambito di transazione, vedere l'argomento Implementazione di una transazione implicita utilizzando l'ambito 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.

In questa 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 utilizzando 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 utilizzando 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 è descritta nell'argomento Escalation della gestione delle transazioni.

Concorrenza

L'argomento Gestione della concorrenza con DependentTransaction illustra come ottenere la concorrenza tra le attività asincrone usando la classe DependentTransaction.

Interoperabilità COM+

L'argomento Interoperabilità con transazioni COM+ ed Enterprise Services illustra come è possibile supportare l'interazione delle transazioni distribuite con le transazioni COM+.

Diagnostica

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

Utilizzo delle funzionalità all'interno di ASP.NET

L'argomento Uso di System.Transactions in ASP.NET descrive come usare correttamente System.Transactions all'interno di un'applicazione ASP.NET.