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) |
Представляет реализацию обратного вызова диспетчера ресурсов для оптимизации фиксации одного этапа. |