System.Transactions Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Contiene clases que permiten escribir su propia aplicación transaccional y administrador de recursos. En concreto, puede crear y participar en una transacción (local o distribuida) con uno o varios participantes.
Clases
| Nombre | Description |
|---|---|
| CommittableTransaction |
Describe una transacción confirmable. |
| DependentTransaction |
Describe un clon de una transacción que proporciona garantía de que la transacción no se puede confirmar hasta que la aplicación se quede en reposo con respecto al trabajo en la transacción. Esta clase no puede heredarse. |
| DistributedTransactionPermission |
El permiso que solicita System.Transactions cuando la administración de una transacción se escala a MSDTC. Esta clase no puede heredarse. |
| DistributedTransactionPermissionAttribute |
Permite aplicar acciones de seguridad al DistributedTransactionPermission código mediante seguridad declarativa. Esta clase no puede heredarse. |
| Enlistment |
Facilita la comunicación entre un participante de transacción inscrito y el administrador de transacciones durante la fase final de la transacción. |
| PreparingEnlistment |
Facilita la comunicación entre un participante de transacción inscrito y el administrador de transacciones durante la fase de preparación de la transacción. |
| SinglePhaseEnlistment |
Proporciona un conjunto de devoluciones de llamada que facilitan la comunicación entre un participante inscrito para confirmación de fase única y el administrador de transacciones cuando se recibe la SinglePhaseCommit(SinglePhaseEnlistment) notificación. |
| SubordinateTransaction |
Representa una transacción sin raíz que se puede delegar. Esta clase no puede heredarse. |
| Transaction |
Representa una transacción. |
| TransactionAbortedException |
Excepción que se produce cuando se intenta realizar una operación en una transacción que ya se ha revertido, o se intenta confirmar la transacción y se anula la transacción. |
| TransactionEventArgs |
Proporciona datos para los siguientes eventos de transacción: DistributedTransactionStarted, TransactionCompleted. |
| TransactionException |
Excepción que se produce cuando se intenta realizar el trabajo en una transacción que no puede aceptar el nuevo trabajo. |
| TransactionInDoubtException |
Excepción que se produce cuando se intenta realizar una operación en una transacción que está en duda o se intenta confirmar la transacción y la transacción se convierte en InDoubt. |
| TransactionInformation |
Proporciona información adicional sobre una transacción. |
| TransactionInterop |
Facilita la interacción entre System.Transactions los componentes y que se escribieron anteriormente para interactuar con MSDTC, COM+o System.EnterpriseServices. Esta clase no puede heredarse. |
| TransactionManager |
Contiene métodos usados para la administración de transacciones. Esta clase no puede heredarse. |
| TransactionManagerCommunicationException |
Excepción que se produce cuando un administrador de recursos no puede comunicarse con el administrador de transacciones. |
| TransactionPromotionException |
Excepción que se produce cuando se produce un error en una promoción. |
| TransactionScope |
Convierte un bloque de código en transaccional. Esta clase no puede heredarse. |
Estructuras
| Nombre | Description |
|---|---|
| TransactionOptions |
Contiene información adicional que especifica los comportamientos de transacción. |
Interfaces
| Nombre | Description |
|---|---|
| IDtcTransaction |
Describe una transacción DTC. |
| IEnlistmentNotification |
Describe una interfaz que un administrador de recursos debe implementar para proporcionar devoluciones de llamada de notificación de confirmación en dos fases para el administrador de transacciones al inscribirse para participar. |
| IPromotableSinglePhaseNotification |
Describe un objeto que actúa como delegado de confirmación para una transacción no distribuida interna en un administrador de recursos. |
| ISimpleTransactionSuperior |
Representa una transacción que no es una transacción raíz, pero que se puede escalar para que la MSDTC lo administre. |
| ISinglePhaseNotification |
Describe un objeto de recurso que admite la optimización de confirmación de fase única para participar en una transacción. |
| ITransactionPromoter |
Describe una transacción delegada para una transacción existente que se puede escalar para que la MSDTC lo administre cuando sea necesario. |
Enumeraciones
| Nombre | Description |
|---|---|
| DependentCloneOption |
Controla qué tipo de transacción dependiente se va a crear. |
| EnlistmentOptions |
Determina si el objeto se debe inscribir durante la fase de preparación. |
| EnterpriseServicesInteropOption |
Especifica cómo interactúan las transacciones distribuidas con las transacciones COM+. |
| IsolationLevel |
Especifica el nivel de aislamiento de una transacción. |
| TransactionScopeAsyncFlowOption |
Especifica si el flujo de transacción entre continuaciones de subprocesos está habilitado para TransactionScope. |
| TransactionScopeOption |
Proporciona opciones adicionales para crear un ámbito de transacción. |
| TransactionStatus |
Describe el estado actual de una transacción distribuida. |
Delegados
| Nombre | Description |
|---|---|
| HostCurrentTransactionCallback |
Proporciona un mecanismo para que el entorno de hospedaje proporcione su propia noción predeterminada de Current. |
| TransactionCompletedEventHandler |
Representa el método que controla el TransactionCompleted evento de una Transaction clase. |
| TransactionStartedEventHandler |
Representa el método que controlará el DistributedTransactionStarted evento de una TransactionManager clase. |
Comentarios
La infraestructura de System.Transactions hace que la programación transaccional sea sencilla y eficaz en toda la plataforma al admitir transacciones iniciadas en SQL Server, ADO.NET, MSMQ y el Microsoft DTC (Coordinador de transacciones distribuidas) (MSDTC). Proporciona un modelo de programación explícito basado en la Transaction clase , así como un modelo de programación implícito mediante la clase , en la TransactionScope que la infraestructura administra automáticamente las transacciones. Se recomienda encarecidamente usar el modelo implícito más sencillo para el desarrollo. Para obtener más información sobre cómo escribir una aplicación transaccional, consulte Escritura de una aplicación transaccional.
System.Transactions también proporciona tipos para implementar un administrador de recursos. El administrador de transacciones nativo de la System.Transactions infraestructura permite que los recursos volátiles o una sola inscripción de recursos duraderos se confirmen o revierten de forma eficaz.
El administrador de transacciones también escala de forma transparente las transacciones locales a las transacciones distribuidas mediante la coordinación a través de 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.
Escalación dinámica, lo que significa que la
System.Transactionsinfraestructura solo interactúa con MSDTC cuando realmente es necesaria para una transacción.Inscripción promocionable, que permite que un recurso, como una base de datos, tome posesión de la transacción si es la única entidad que participa en la transacción. Más adelante, si es necesario, la
System.Transactionsinfraestructura todavía puede escalar la administración de la transacción a MSDTC. Esto reduce aún más la posibilidad de usar MSDTC.