CommittableTransaction Klasa
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 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
- 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 |
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 |
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ść |
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) |
Metody rozszerzania
ToApmEnd(IAsyncResult) |
Opisuje zatwierdzaną transakcję. |
ToApmEnd<TResult>(IAsyncResult) |
Opisuje zatwierdzaną transakcję. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo.