ISinglePhaseNotification Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает объект ресурса, который поддерживает оптимизацию однофазной фиксации для участия в транзакции.
public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
- Реализации
Комментарии
Следует отметить, что даже если диспетчер ресурсов реализует этот интерфейс для поддержки однофазной оптимизации фиксации, он не гарантирует получение однофазной фиксации. Вместо этого диспетчер транзакций может отправлять уведомления о двухэтапной фиксации.
Чтобы завербовать диспетчер ресурсов в качестве участника транзакции, вызовите EnlistVolatile метод или EnlistDurable метод Transaction класса . В частности, EnlistmentOptions
параметр должен иметь значение , None чтобы обеспечить выполнение однофазной фиксации. Если по ошибке задано значение EnlistDuringPrepareRequired, однофазная фиксация не выполняется.
ISinglePhaseNotification Так как интерфейс является производным IEnlistmentNotification от интерфейса, диспетчер ресурсов также должен реализовать все методы последнего для двухэтапных уведомлений о фиксации. Диспетчер транзакций определяет, используется ли с этим диспетчером ресурсов двухэтапная фиксация или оптимизация одноэтапной фиксации. Однако реализация этого интерфейса дает диспетчеру ресурсов возможность воспользоваться преимуществами оптимизации, когда она доступна.
Если используется оптимизация и диспетчер транзакций вызывает SinglePhaseCommit метод включенного ресурса, диспетчер ресурсов должен ответить на этот вызов с помощью различных методов SinglePhaseEnlistment класса , чтобы сообщить диспетчеру транзакций, если транзакция должна быть зафиксирована или откатирована.
Методы
Commit(Enlistment) |
Уведомляет включенный в список объект о том, что транзакция фиксируется. (Унаследовано от IEnlistmentNotification) |
InDoubt(Enlistment) |
Уведомляет включенный в список объект о сомнительном состоянии транзакции. (Унаследовано от IEnlistmentNotification) |
Prepare(PreparingEnlistment) |
Уведомляет включенный в список объект о том, что транзакция подготавливается для фиксации. (Унаследовано от IEnlistmentNotification) |
Rollback(Enlistment) |
Уведомляет включенный в список объект о том, что выполняется откат транзакции (ее прерывание). (Унаследовано от IEnlistmentNotification) |
SinglePhaseCommit(SinglePhaseEnlistment) |
Представляет реализацию диспетчером ресурсов функции обратного вызова для оптимизации однофазной фиксации. |