Información general sobre las transacciones de Windows Communication Foundation
Las transacciones proporcionan una manera de agrupar un conjunto de acciones u operaciones en una unidad indivisible única de ejecución. Una transacción es una colección de operaciones con las propiedades siguientes:
- Atomicidad. Esto garantiza que todas las actualizaciones completadas en una transacción concreta se confirmadas y sean duraderas o que sean anuladas y reviertan a su estado anterior.
- Coherencia Esto garantiza que los cambios realizados en una transacción representan una transformación desde un estado coherente a otro. Por ejemplo, una transacción que transfiere el dinero de una cuenta corriente a una cuenta de ahorros no cambia la cantidad de dinero en la cuenta bancaria general.
- Aislamiento Esto evita que una transacción obedezca a cambios no confirmados que pertenecen a otras transacciones simultáneas. El aislamiento proporciona una abstracción de simultaneidad y garantiza, al mismo tiempo, que una transacción no tenga un impacto inesperado en la ejecución de otra transacción.
- Duración. Esto significa que una vez confirmado, las actualizaciones de recursos administrados (como un registro de base de datos) serán persistentes frente a errores.
Windows Communication Foundation (WCF) proporciona un amplio conjunto de características que le permiten crear transacciones distribuidas en su aplicación de servicio web.
WCF implementa la compatibilidad para el protocolo WS-AtomicTransaction (WS-AT) que permite a aplicaciones WCF fluir las transacciones a las aplicaciones interoperables, como servicios Web interoperables generados mediante tecnología de otro fabricante. WCF también implementa la compatibilidad para el protocolo OLE Transactions, que se puede utilizar en escenarios donde usted no necesita que la funcionalidad de la interoperabilidad habilite el flujo de la transacción.
Puede utilizar un archivo de configuración de la aplicación para configurar los enlaces con el fin de habilitar o deshabilitar el flujo de la transacción, así como establecer el protocolo de transacción deseado en un enlace. Además, puede establecer los tiempos de espera de la transacción en el nivel del servicio utilizando el archivo de configuración. Para obtener más información, consulte Habilitar el flujo de transacciones.
Los atributos de transacción en el espacio de nombres System.ServiceModel le permiten hacer lo siguiente:
- Configure los tiempos de espera de la transacción y filtro del nivel de aislamiento mediante el atributo ServiceBehaviorAttribute.
- Habilite la funcionalidad de las transacciones y configure el comportamiento de realización de transacción mediante el atributo OperationBehaviorAttribute.
- Utilice ServiceContractAttribute y los atributos OperationContractAttribute en un método de contrato para requerir, permitir o denegar el flujo de la transacción.
Para obtener más información, consulte Atributos de transacción de ServiceModel.
Consulte también
Conceptos
Atributos de transacción de ServiceModel
Habilitar el flujo de transacciones