Поделиться через


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)

Представляет реализацию диспетчером ресурсов функции обратного вызова для оптимизации однофазной фиксации.

Применяется к

См. также раздел