Udostępnij za pośrednictwem


ISinglePhaseNotification Interfejs

Definicja

Opisuje obiekt zasobu, który obsługuje optymalizację zatwierdzania jednofazowego w celu uczestnictwa w transakcji.

public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
    interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
Implementuje

Uwagi

Należy pamiętać, że nawet jeśli menedżer zasobów implementuje ten interfejs w celu obsługi optymalizacji zatwierdzeń jednofazowych, nie ma gwarancji, że otrzyma jedno zatwierdzenie fazy. Menedżer transakcji nadal może wysyłać powiadomienia o zatwierdzeniu dwóch faz.

Aby zarejestrować menedżera zasobów jako uczestnika transakcji, wywołaj EnlistVolatile metodę lub EnlistDurable metodę Transaction klasy. W szczególności parametr powinien być równyNone, aby upewnić się, EnlistmentOptions że jest wykonywane jednofazowe zatwierdzenie. Jeśli zostanie błędnie ustawiona wartość EnlistDuringPrepareRequired, nie wystąpi żadne zatwierdzenie jednofazowe.

ISinglePhaseNotification Ponieważ interfejs pochodzi z interfejsuIEnlistmentNotification, menedżer zasobów musi również zaimplementować wszystkie metody drugiego dla dwóch powiadomień zatwierdzenia fazy. Jest to wybór menedżera transakcji w celu tego, czy w przypadku tego menedżera zasobów jest używana optymalizacja zatwierdzania dwufazowego, czy jednofazowego. Jednak zaimplementowanie tego interfejsu daje menedżerowi zasobów możliwość skorzystania z optymalizacji, gdy jest dostępna.

Jeśli jest używana optymalizacja, a menedżer transakcji wywołuje SinglePhaseCommit metodę zasobu wymienionego, menedżer zasobów powinien odpowiedzieć na to wywołanie przy użyciu różnych metod SinglePhaseEnlistment klasy, aby poinformować menedżera transakcji, jeśli transakcja ma zostać zatwierdzona lub wycofana.

Metody

Commit(Enlistment)

Powiadamia obiekt wymieniony, że transakcja jest zatwierdzana.

(Odziedziczone po IEnlistmentNotification)
InDoubt(Enlistment)

Powiadamia o obiekcie wymienionym, że stan transakcji jest wątpliwy.

(Odziedziczone po IEnlistmentNotification)
Prepare(PreparingEnlistment)

Powiadamia obiekt z listy, że transakcja jest przygotowywana do zobowiązania.

(Odziedziczone po IEnlistmentNotification)
Rollback(Enlistment)

Powiadamia obiekt z listy o wycofaniu transakcji (przerwane).

(Odziedziczone po IEnlistmentNotification)
SinglePhaseCommit(SinglePhaseEnlistment)

Reprezentuje implementację menedżera zasobów wywołania zwrotnego dla optymalizacji zatwierdzania jednofazowego.

Dotyczy

Zobacz też