Compartir por


Características proporcionadas por System.Transactions

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

Información general de System.Transactions

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

El System.Transactions espacio de nombres también proporciona tipos para implementar un administrador de recursos. Un administrador de recursos administra datos duraderos o volátiles usados en una transacción y trabaja en cooperación con el administrador de transacciones para proporcionar a la aplicación una garantía de atomicidad y aislamiento. El administrador de transacciones proporcionado por la System.Transactions infraestructura admite transacciones que implican varios recursos volátiles o un único recurso duradero. Para obtener más información sobre la implementación de un administrador de recursos, consulte Implementación de un Administrador de Recursos.

El administrador de transacciones también escala de forma transparente las transacciones locales a transacciones distribuidas mediante la coordinación con un administrador de transacciones basado en disco, como DTC, cuando un administrador de recursos duradero adicional se inscribe con una transacción. Hay dos maneras clave de que la System.Transactions infraestructura proporcione un rendimiento mejorado.

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

En esta sección

Escritura de una aplicación transaccional

El System.Transactions espacio de nombres proporciona dos modelos para crear aplicaciones transaccionales. La implementación de una transacción implícita mediante el ámbito de transacción describe cómo el espacio de nombres System.Transactions admite crear transacciones implícitas usando la clase TransactionScope.

La implementación de una transacción explícita mediante CommittableTransaction describe cómo el espacio de nombres admite la System.Transactions creación de transacciones explícitas mediante la CommittableTransaction clase .

Para ver temas adicionales sobre cómo escribir una aplicación transaccional, consulte Escritura de una aplicación transaccional.

Implementación de Un Administrador de recursos

Para implementar un administrador de recursos que pueda participar en una transacción, consulte Implementación de un Administrador de recursos. En esta sección se describe la inscripción de un recurso, la confirmación de una transacción, la recuperación después del error y los procedimientos recomendados de optimización.