TransactionInterop Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Упрощает взаимодействие между System.Transactions компонентами, которые ранее были записаны для взаимодействия с MSDTC, COM+или System.EnterpriseServices. Этот класс не может быть унаследован.
public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
- Наследование
-
TransactionInterop
Комментарии
Этот класс предоставляет методы для распространения транзакций.
Используя методы, предоставляемые этим классом, вы можете участвовать в двух типах распространения транзакций, экспорте и импорте (модель push-передачи) и приемнике (модель извлечения).
Распространение экспорта и импорта (принудительной модели) включает следующие действия.
На удаленном компьютере получите "местонахождение" диспетчера транзакций этого компьютера, вызвав GetWhereabouts метод. Затем можно кэшировать эту часть информации на клиентском компьютере для дальнейшего использования.
Отправьте данные, содержащие расположения, на клиентский компьютер с помощью любого предпочтительного метода.
На клиентском компьютере используйте расположения для экспорта транзакции на удаленный компьютер и создайте транзакцию cookie. Это делается путем вызова GetExportCookie и передачи местонахождения удаленного компьютера.
Отправьте данные, содержащие файл cookie транзакции, на удаленный компьютер с помощью любого предпочтительного метода.
На удаленном компьютере используйте файл cookie транзакции для получения клона клиентской транзакции путем вызова GetTransactionFromExportCookie метода.
На удаленном компьютере используйте транзакцию клонирования для включения диспетчера ресурсов с помощью EnlistVolatile методов или EnlistDurable методов Transaction класса.
Распространение приемника и приемника (модель извлечения) включает в себя следующие действия.
На клиентском компьютере с помощью транзакции создается соответствующий маркер распространения путем вызова GetTransmitterPropagationToken.
Отправьте данные, содержащие маркер распространения транзакции на удаленный компьютер с помощью любого предпочтительного метода.
На удаленном компьютере используйте маркер распространения для получения клона клиентской транзакции путем вызова GetTransactionFromTransmitterPropagationToken.
Модель передатчика и приемника обеспечивает более высокую производительность в сценариях, когда маркер транзакции отправляется на удаленный компьютер, но удаленный компьютер может не использовать его для получения транзакции. Это связано с тем, что транзакция не распространяется до GetTransactionFromTransmitterPropagationToken вызова. Еще одним преимуществом является то, что маркер распространения можно отправить на любой удаленный компьютер, а файл cookie экспорта можно использовать только на компьютере, который предоставил расположения.
Расположения удаленных диспетчеров транзакций инкапсулируются во всех маркерах распространения, что делает их больше соответствующих файлов cookie транзакций из модели экспорта и импорта.
Поля
| Имя | Описание |
|---|---|
| PromoterTypeDtc |
Тип обработчика распределенных транзакций. |
Методы
| Имя | Описание |
|---|---|
| GetDtcTransaction(Transaction) |
IDtcTransaction Возвращает экземпляр, представляющий объект Transaction. |
| GetExportCookie(Transaction, Byte[]) |
Преобразует объект транзакции в файл cookie экспорта транзакций. |
| GetTransactionFromDtcTransaction(IDtcTransaction) |
Создает объект Transaction из указанного IDtcTransactionобъекта. |
| GetTransactionFromExportCookie(Byte[]) |
Transaction Создает файл cookie из указанного файла cookie экспорта. |
| GetTransactionFromTransmitterPropagationToken(Byte[]) |
Transaction Создает экземпляр из указанного маркера распространения преобразователя. |
| GetTransmitterPropagationToken(Transaction) |
Создает маркер распространения для указанного Transaction. |
| GetWhereabouts() |
Возвращает расположения распределенного диспетчера транзакций, который System.Transactions использует. |