Создание транзакционного приложенияWriting a Transactional Application

Пространство имен System.Transactions предоставляет разработчикам транзакционных приложений две модели программирования для создания транзакций.As a transactional application programmer, you can take advantage of the two programming models provided by the System.Transactions namespace to create a transaction. Явную модель программирования можно использовать с помощью Transaction класса или неявной модели программирования, в которой транзакции автоматически управляются инфраструктурой с TransactionScope помощью класса.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. Для разработки рекомендуется использовать модель неявной транзакции.We recommend 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

Пространство имен System.Transactions предоставляет две модели для создания транзакций.The System.Transactions namespace provides two models for creating a transaction. Эти модели рассматриваются в следующих разделах.These models are covered in the following topics.

Реализация неявной транзакции с использованием области транзакцииImplementing an Implicit Transaction using Transaction Scope

Описывает, как пространство имен System.Transactions поддерживает создание неявных транзакций с использованием класса TransactionScope.Describes how the System.Transactions namespace supports creating implicit transactions using the TransactionScope class.

Реализация явной транзакции с помощью класса CommittableTransactionImplementing an Explicit Transaction using CommittableTransaction

Описывает, как пространство имен System.Transactions поддерживает создание явных транзакций с использованием класса CommittableTransaction.Describes how the System.Transactions namespace supports creating explicit transactions using the CommittableTransaction class.

Передача управления транзакцией на следующий уровень иерархииEscalating Transaction Management

Если транзакции необходим доступ к ресурсу в другом домене приложения или требуется зачислить другой диспетчер устойчивых ресурсов, управление транзакцией автоматически передается координатору MSDTC.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

В разделе Управление параллелизмом с помощью класса DependentTransaction показано, как можно достичь параллелизма между асинхронными задачами DependentTransaction с использованием класса.The topic Managing Concurrency with DependentTransaction demonstrates how concurrency can be achieved between asynchronous tasks by using the DependentTransaction class.

Взаимодействие с транзакциями COM+COM+ Interop

В разделе взаимодействие с корпоративными службами и транзакциями COM+ показано, как можно сделать распределенные транзакции взаимодействующими с транзакциями COM+.The topic Interoperability with Enterprise Services and COM+ Transactions illustrates how you can make your distributed transactions interact with COM+ transactions.

ДиагностикаDiagnostics

Диагностические трассировки описывает, как можно использовать коды трассировки, созданные System.Transactions инфраструктурой, для устранения неполадок в приложениях.Diagnostic Traces describes how you can use the trace codes that are generated by the System.Transactions infrastructure to troubleshoot errors in your applications.

Работа в среде ASP.NETWorking within ASP.NET

В разделе использование System. Transactions в ASP.NET описывается, как можно успешно System.Transactions использовать внутри приложения ASP.NET.The Using System.Transactions in ASP.NET topic describes how you can successfully use System.Transactions inside an ASP.NET application.