Características proporcionadas por System.Transactions [ws_fxtransactions_4]

En esta sección se describe cómo se pueden utilizar las características proporcionadas por el espacio de nombres System.Transactions para escribir su propia aplicación transaccional y administrador de recursos. Específicamente, esta sección trata de cómo crear y participar en una transacción (local o distribuida) con uno o varios participantes.

Información general sobre System.Transactions

La infraestructura proporcionada por las clases en el espacio de nombres System.Transactions hace que la programación transaccional sea sencilla y eficaz en toda la plataforma al admitir las transacciones iniciadas en SQL Server, ADO.NET, Message Queuing (MSMQ) y MSDTC (Coordinador de transacciones distribuidas de Microsoft). El espacio de nombres System.Transactions proporciona un modelo de programación explícito según la clase Transaction, así como un modelo de programación implícito utilizando la clase TransactionScope, en la que la infraestructura administra automáticamente las transacciones. Para obtener más información sobre cómo crear una aplicación transaccional utilizando estos dos modelos, vea Escribir una aplicación transaccional [ws_fxtransactions_4].

El espacio de nombres System.Transactions también proporciona tipos para implementar un administrador de recursos. Un administrador de recursos administra los datos duraderos o volátiles que se utilizan en una transacción, y trabaja en cooperación con el administrador de transacciones para dotar a la aplicación de una garantía de atomicidad y aislamiento. El administrador de transacciones que proporciona la infraestructura System.Transactions admite transacciones que implican varios recursos volátiles o un recurso duradero único. Para más información sobre cómo implementar un administrador de recursos, vea Implementar un administrador de recursos [ws_fxtransactions_4].

Cuando un administrador de recursos duraderos adicional se da de alta a sí mismo en una transacción, el administrador de transacciones también dirige de forma transparente las transacciones locales a transacciones distribuidas, coordinando con un administrador de transacciones basado en disco como DTC. La infraestructura System.Transactions proporciona un rendimiento mejorado principalmente de dos formas:

El espacio de nombres System.Transactions define tres niveles de confianza - AllowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission (DTP) y plena confianza - que restringe el acceso a los tipos de recursos que expone. Para obtener más información sobre los distintos niveles de confianza, vea Niveles de confianza de seguridad en el acceso a recursos [ws_fxtransactions_4].

En esta sección

Ee818755.collapse_all(es-es,VS.120).gifCrear una aplicación transaccional

El espacio de nombres System.Transactions proporciona dos modelos para crear aplicaciones transaccionales. Implementar una transacción implícita utilizando el ámbito de transacción [ws_fxtransactions_4]Describe cómo el espacio de nombres System.Transactions permite crear transacciones implícitas mediante la clase TransactionScope.

Implementar una transacción explícita utilizando CommittableTransaction [ws_fxtransactions_4] describe cómo el espacio de nombres System.Transactions admite la creación de transacciones explícitas utilizando la claseCommittableTransaction.

Para consultar temas adicionales que traten sobre cómo escribir una aplicación transaccional, vea Escribir una aplicación transaccional [ws_fxtransactions_4].

Ee818755.collapse_all(es-es,VS.120).gifImplementar un administrador de recursos

Para implementar un administrador de recursos que pueda participar en una transacción, vea Implementar un administrador de recursos [ws_fxtransactions_4]. En esta sección trata la inscripción de un recurso, la confirmación de transacciones, la recuperación después del error, y los procedimientos recomendados de la optimización.