CommittableTransaction Klas

Definitie

Beschrijft een doorvoerbare transactie.

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

Opmerkingen

De CommittableTransaction klasse biedt een expliciete manier voor toepassingen om een transactie te gebruiken, in plaats van impliciet de TransactionScope klasse te gebruiken. In tegenstelling tot de TransactionScope klasse moet de schrijver van de toepassing de Commit en Rollback methoden specifiek aanroepen om de transactie door te voeren of af te breken. Alleen de maker van een transactie kan de transactie echter doorvoeren. Daarom zijn kopieën van een doorvoerbare transactie die via de Transaction.Clone methode is verkregen, niet door te voeren.

Note

U wordt aangeraden impliciete transacties te maken met behulp van de TransactionScope klasse, zodat de context van de omgevingstransactie automatisch voor u wordt beheerd. U moet ook de TransactionScope en DependentTransaction klassen gebruiken voor toepassingen waarvoor dezelfde transactie moet worden gebruikt voor meerdere functie-aanroepen of meerdere thread-aanroepen. Zie het onderwerp Een impliciete transactie implementeren met behulp van transactiebereik voor meer informatie over dit model.

Als u een CommittableTransaction omgevingstransactie maakt, wordt de omgevingstransactie niet automatisch ingesteld. Dit is de transactie waarin uw code wordt uitgevoerd. U kunt de omgevingstransactie ophalen of instellen door de statische Transaction.Current eigenschap van het globale Transaction object aan te roepen. Zie de sectie 'Transaction Flow beheren met TransactionScopeOption' van het onderwerp Een impliciete transactie implementeren met behulp van transactiebereik voor meer informatie over omgevingstransacties. Als de omgevingstransactie niet is ingesteld, maakt een bewerking voor een Resource Manager geen deel uit van die transactie. U moet de omgevingstransactie expliciet instellen en opnieuw instellen om ervoor te zorgen dat resourcemanagers onder de juiste transactiecontext werken.

Totdat een CommittableTransaction is vastgelegd, worden alle resources die betrokken zijn bij de transactie nog steeds vergrendeld.

Een CommittableTransaction object kan niet opnieuw worden gebruikt. Zodra het is doorgevoerd of teruggedraaid, kan deze niet opnieuw worden gebruikt in een transactie of worden ingesteld als de huidige context van de omgevingstransactie.

Constructors

Name Description
CommittableTransaction()

Initialiseert een nieuw exemplaar van de CommittableTransaction klasse.

CommittableTransaction(TimeSpan)

Initialiseert een nieuw exemplaar van de CommittableTransaction klasse met de opgegeven timeout waarde.

CommittableTransaction(TransactionOptions)

Initialiseert een nieuw exemplaar van de CommittableTransaction klasse met de opgegeven transactieopties.

Eigenschappen

Name Description
IsolationLevel

Hiermee haalt u het isolatieniveau van de transactie op.

(Overgenomen van Transaction)
PromoterType

Identificeer de indeling van de byte[] geretourneerde door de methode Niveau verhogen wanneer de transactie wordt gepromoveerd.

(Overgenomen van Transaction)
TransactionInformation

Hiermee haalt u aanvullende informatie over een transactie op.

(Overgenomen van Transaction)

Methoden

Name Description
BeginCommit(AsyncCallback, Object)

Begint een poging om de transactie asynchroon door te voeren.

Clone()

Hiermee maakt u een kloon van de transactie.

(Overgenomen van Transaction)
Commit()

Probeert de transactie door te voeren.

DependentClone(DependentCloneOption)

Hiermee maakt u een afhankelijke kloon van de transactie.

(Overgenomen van Transaction)
Dispose()

Publiceert de resources die door het object worden bewaard.

(Overgenomen van Transaction)
EndCommit(IAsyncResult)

Hiermee beëindigt u een poging om de transactie asynchroon vast te leggen.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Hiermee wordt een duurzame resourcemanager opgenomen die ondersteuning biedt voor twee fasen om deel te nemen aan een transactie.

(Overgenomen van Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

Neemt een duurzame resourcemanager op die ondersteuning biedt voor optimalisatie van één fase voor doorvoeren om deel te nemen aan een transactie.

(Overgenomen van Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Hiermee schakelt u een resourcemanager in die een interne transactie heeft met behulp van een promotable single phase enlistment (PSPE).

(Overgenomen van Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Hiermee schakelt u een resourcemanager in die een interne transactie heeft met behulp van een promotable single phase enlistment (PSPE).

(Overgenomen van Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Hiermee wordt een vluchtige resourcemanager opgenomen die ondersteuning biedt voor twee fasen om deel te nemen aan een transactie.

(Overgenomen van Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Neemt een vluchtige resourcemanager op die ondersteuning biedt voor optimalisatie van één fase voor doorvoeren om deel te nemen aan een transactie.

(Overgenomen van Transaction)
Equals(Object)

Bepaalt of deze transactie en het opgegeven object gelijk zijn.

(Overgenomen van Transaction)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Transaction)
GetPromotedToken()

Hiermee haalt u de byte[] geretourneerde Promote methode op wanneer de transactie wordt gepromoveerd.

(Overgenomen van Transaction)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

Bevordert en neemt een duurzame resourcemanager op die ondersteuning biedt voor twee fasen om deel te nemen aan een transactie.

(Overgenomen van Transaction)
Rollback()

Hiermee wordt de transactie teruggedraaid (afgebroken).

(Overgenomen van Transaction)
Rollback(Exception)

Hiermee wordt de transactie teruggedraaid (afgebroken).

(Overgenomen van Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Hiermee stelt u de gedistribueerde transactie-id in die is gegenereerd door de niet-MSDTC-organisator.

(Overgenomen van Transaction)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

gebeurtenis

Name Description
TransactionCompleted

Geeft aan dat de transactie is voltooid.

(Overgenomen van Transaction)

Expliciete interface-implementaties

Name Description
IAsyncResult.AsyncState

Hiermee haalt u het object op dat is opgegeven als de laatste parameter van de BeginCommit(AsyncCallback, Object) methode-aanroep.

IAsyncResult.AsyncWaitHandle

Hiermee wordt een WaitHandle bewerking ophaalt die wordt gebruikt om te wachten tot een asynchrone bewerking is voltooid.

IAsyncResult.CompletedSynchronously

Hiermee wordt aangegeven of de asynchrone doorvoerbewerking synchroon is voltooid.

IAsyncResult.IsCompleted

Hiermee wordt aangegeven of de asynchrone doorvoerbewerking is voltooid.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Haalt een SerializationInfo op met de gegevens die nodig zijn om deze transactie te serialiseren.

(Overgenomen van Transaction)

Van toepassing op

Veiligheid thread

Dit type is thread veilig.

Zie ook