ISinglePhaseNotification Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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. |