As a transactional application programmer, you can take advantage of the two programming models provided by the System.Transactions namespace to create a transaction. You can utilize the explicit programming model by using the Transaction class, or the implicit programming model in which transactions are automatically managed by the infrastructure, by using the TransactionScope class.. It is recommended that you use the implicit transaction model for development. You can find more information on how to use a transaction scope in the Implementing an Implicit Transaction using Transaction Scope topic.
Both models support committing a transaction when the program reaches a consistent state. If the commit succeeds, the transaction is durably committed. If the commit fails, the transaction aborts. If the application program cannot successfully complete the transaction, it attempts to abort and undo the transaction's effects.
In This Section
Creating a Transaction
Escalating Transaction Management
When a transaction needs to access a resource in another application domain, or if you want to enlist in another durable resource manager, the transaction is automatically escalated to be managed by the MSDTC. Transaction escalation is covered in the Transaction Management Escalation topic.
Concurrency
COM+ Interop
Diagnostics
Diagnostic Traces describes how you can use the trace codes that are generated by the System.Transactions infrastructure to troubleshoot errors in your applications.
Working within ASP.NET