Udostępnij za pośrednictwem


CommittableTransaction Klasa

Definicja

Opisuje zatwierdzaną transakcję.

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
Dziedziczenie
CommittableTransaction
Atrybuty
Implementuje

Uwagi

Klasa CommittableTransaction zapewnia jawny sposób używania transakcji przez aplikacje, w przeciwieństwie do niejawnego używania TransactionScope klasy. TransactionScope W przeciwieństwie do klasy składnik zapisywania aplikacji musi w szczególności wywoływać Commit metody i Rollback w celu zatwierdzenia lub przerwania transakcji. Jednak tylko twórca transakcji może zatwierdzić transakcję. W związku z tym kopie zatwierdzanej transakcji uzyskanej Transaction.Clone za pośrednictwem metody nie są zatwierdzalne.

Uwaga

Zalecamy utworzenie niejawnych transakcji przy użyciu TransactionScope klasy, aby kontekst otoczenia transakcji był automatycznie zarządzany. Należy również użyć TransactionScope klas i DependentTransaction dla aplikacji, które wymagają użycia tej samej transakcji w wielu wywołaniach funkcji lub wielu wywołań wątku. Aby uzyskać więcej informacji na temat tego modelu, zobacz temat Implementowanie niejawnej transakcji przy użyciu zakresu transakcji .

Utworzenie elementu CommittableTransaction nie powoduje automatycznego ustawienia otoczenia transakcji, która jest transakcją wykonywaną przez kod. Możesz pobrać lub ustawić otoczenia transakcji, wywołując właściwość statyczną Transaction.Current obiektu globalnego Transaction . Aby uzyskać więcej informacji na temat transakcji otoczenia, zobacz sekcję "Zarządzanie przepływem transakcji przy użyciu transactionScopeOption" w temacie Implementowanie niejawnej transakcji przy użyciu zakresu transakcji . Jeśli otoczenia transakcji nie jest ustawiona, żadna operacja w menedżerze zasobów nie jest częścią tej transakcji. Należy jawnie ustawić i zresetować otoczenia transakcji, aby upewnić się, że menedżerowie zasobów działają w odpowiednim kontekście transakcji.

CommittableTransaction Do momentu zatwierdzenia wszystkie zasoby związane z transakcją są nadal zablokowane.

Element CommittableTransaction obiektu nie może być używany ponownie. Po zatwierdzeniu lub wycofaniu nie można go ponownie użyć w transakcji ani ustawić jako bieżącego kontekstu transakcji otoczenia.

Konstruktory

CommittableTransaction()

Inicjuje nowe wystąpienie klasy CommittableTransaction.

CommittableTransaction(TimeSpan)

Inicjuje CommittableTransaction nowe wystąpienie klasy o określonej timeout wartości.

CommittableTransaction(TransactionOptions)

Inicjuje CommittableTransaction nowe wystąpienie klasy z określonymi opcjami transakcji.

Właściwości

IsolationLevel

Pobiera poziom izolacji transakcji.

(Odziedziczone po Transaction)
PromoterType

Jednoznacznie identyfikuje format byte[] zwracany przez metodę Promuj, gdy transakcja jest promowana.

(Odziedziczone po Transaction)
TransactionInformation

Pobiera dodatkowe informacje o transakcji.

(Odziedziczone po Transaction)

Metody

BeginCommit(AsyncCallback, Object)

Rozpoczyna próbę zatwierdzenia transakcji asynchronicznie.

Clone()

Tworzy klon transakcji.

(Odziedziczone po Transaction)
Commit()

Próbuje zatwierdzić transakcję.

DependentClone(DependentCloneOption)

Tworzy zależny klon transakcji.

(Odziedziczone po Transaction)
Dispose()

Zwalnia zasoby przechowywane przez obiekt.

(Odziedziczone po Transaction)
EndCommit(IAsyncResult)

Kończy próbę zatwierdzenia transakcji asynchronicznie.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Enlists durable resource manager, który obsługuje dwa zatwierdzenia fazy, aby uczestniczyć w transakcji.

(Odziedziczone po Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

Enlists durable resource manager, który obsługuje optymalizację zatwierdzeń w jednej fazie, aby uczestniczyć w transakcji.

(Odziedziczone po Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Enlists a resource manager, który ma transakcję wewnętrzną przy użyciu promotable pojedynczej fazy rejestracji (PSPE).

(Odziedziczone po Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Enlists a resource manager, który ma transakcję wewnętrzną przy użyciu promotable pojedynczej fazy rejestracji (PSPE).

(Odziedziczone po Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Enlists nietrwały menedżer zasobów, który obsługuje dwa zatwierdzenia fazy, aby uczestniczyć w transakcji.

(Odziedziczone po Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Enlists nietrwały menedżer zasobów, który obsługuje optymalizację zatwierdzania jednofazowego w celu uczestnictwa w transakcji.

(Odziedziczone po Transaction)
Equals(Object)

Określa, czy ta transakcja i określony obiekt są równe.

(Odziedziczone po Transaction)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Transaction)
GetPromotedToken()

Pobiera wartość byte[] zwracaną przez metodę po podwyższeniu Promote poziomu transakcji.

(Odziedziczone po Transaction)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

Promuje i enlistuje trwały menedżer zasobów, który obsługuje dwa zatwierdzenia fazy, aby uczestniczyć w transakcji.

(Odziedziczone po Transaction)
Rollback()

Cofa (przerywa) transakcję.

(Odziedziczone po Transaction)
Rollback(Exception)

Cofa (przerywa) transakcję.

(Odziedziczone po Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Ustawia identyfikator transakcji rozproszonej wygenerowany przez promotora innego niż MSDTC.

(Odziedziczone po Transaction)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

TransactionCompleted

Wskazuje, że transakcja została ukończona.

(Odziedziczone po Transaction)

Jawne implementacje interfejsu

IAsyncResult.AsyncState

Pobiera obiekt podany jako ostatni parametr wywołania BeginCommit(AsyncCallback, Object) metody.

IAsyncResult.AsyncWaitHandle

Pobiera element WaitHandle służący do oczekiwania na zakończenie operacji asynchronicznej.

IAsyncResult.CompletedSynchronously

Pobiera wskazanie, czy operacja zatwierdzania asynchronicznego została ukończona synchronicznie.

IAsyncResult.IsCompleted

Pobiera wskazanie, czy operacja zatwierdzania asynchronicznego została ukończona.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Pobiera element SerializationInfo z danymi wymaganymi do serializacji tej transakcji.

(Odziedziczone po Transaction)

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.

Zobacz też