CommittableTransaction 클래스

정의

커밋할 수 있는 트랜잭션에 대해 설명합니다.

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
상속
CommittableTransaction
특성
구현

설명

CommittableTransaction 클래스를 암시적으로 사용하는 경우와 달리 TransactionScope 클래스는 애플리케이션이 트랜잭션을 사용할 수 있는 명시적 방법을 제공합니다. TransactionScope 클래스와 달리 애플리케이션 작성기에서 특별히 CommitRollback 메서드를 호출하여 트랜잭션을 커밋하거나 중단해야 합니다. 그러나 트랜잭션 작성자만 트랜잭션을 커밋할 수 있습니다. 따라서 메서드를 통해 Transaction.Clone 가져온 커밋 가능한 트랜잭션의 복사본은 커밋할 수 없습니다.

참고

앰비언트 트랜잭션 컨텍스트가 자동으로 관리되도록 클래스를 사용하여 TransactionScope 암시적 트랜잭션을 만드는 것이 좋습니다. 또한 여러 함수 호출 또는 여러 스레드 호출에서 동일한 트랜잭션을 사용해야 하는 애플리케이션에 및 클래스를 사용해야 TransactionScopeDependentTransaction 합니다. 이 모델에 대한 자세한 내용은 트랜잭션 범위를 사용하여 암시적 트랜잭션 구현 항목을 참조하세요.

CommittableTransaction 만들면 코드가 실행하는 트랜잭션인 앰비언트 트랜잭션이 자동으로 설정되지 않습니다. 전역 Transaction 개체의 정적 Transaction.Current 속성을 호출하여 앰비언트 트랜잭션을 얻거나 설정할 수 있습니다. 앰비언트 트랜잭션에 대한 자세한 내용은 트랜잭션 범위를 사용하여 암시적 트랜잭션 구현 항목의 "TransactionScopeOption을 사용하여 트랜잭션 흐름 관리" 섹션을 참조하세요. 앰비언트 트랜잭션이 설정되지 않은 경우 리소스 관리자에 대한 모든 작업은 해당 트랜잭션의 일부가 아닙니다. 리소스 관리자가 올바른 트랜잭션 컨텍스트에서 작동하도록 앰비언트 트랜잭션을 명시적으로 설정하고 다시 설정해야 합니다.

CommittableTransaction 커밋될 때까지 트랜잭션과 관련된 모든 리소스는 여전히 잠깁니다.

CommittableTransaction 개체를 다시 사용할 수 없습니다. 커밋되거나 롤백된 후에는 트랜잭션에서 다시 사용하거나 현재 앰비언트 트랜잭션 컨텍스트로 설정할 수 없습니다.

생성자

CommittableTransaction()

CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.

CommittableTransaction(TimeSpan)

지정된 CommittableTransaction 값을 사용하여 timeout 클래스의 새 인스턴스를 초기화합니다.

CommittableTransaction(TransactionOptions)

지정된 트랜잭션 옵션을 사용하여 CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.

속성

IsolationLevel

트랜잭션의 격리 수준을 가져옵니다.

(다음에서 상속됨 Transaction)
PromoterType

트랜잭션을 승격할 때 확장 메서드에서 반환한 byte[] 의 형식을 고유하게 식별합니다.

(다음에서 상속됨 Transaction)
TransactionInformation

트랜잭션에 대한 추가 정보를 검색합니다.

(다음에서 상속됨 Transaction)

메서드

BeginCommit(AsyncCallback, Object)

비동기적으로 트랜잭션을 커밋하려는 시도를 시작합니다.

Clone()

트랜잭션의 복제본을 만듭니다.

(다음에서 상속됨 Transaction)
Commit()

트랜잭션을 커밋하려고 시도합니다.

DependentClone(DependentCloneOption)

트랜잭션의 종속 복제본을 만듭니다.

(다음에서 상속됨 Transaction)
Dispose()

개체에서 보유하는 리소스를 해제합니다.

(다음에서 상속됨 Transaction)
EndCommit(IAsyncResult)

트랜잭션을 비동기적으로 커밋하려는 시도를 끝냅니다.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

트랜잭션에 참여할 2단계 커밋을 지원하는 영속적 리소스 관리자를 참여시킵니다.

(다음에서 상속됨 Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

트랜잭션에 참여할 1단계 커밋 최적화를 지원하는 영속적 리소스 관리자를 참여시킵니다.

(다음에서 상속됨 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

(다음에서 상속됨 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

(다음에서 상속됨 Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

트랜잭션에 참여하기 위해 2단계 커밋을 지원하는 일시적 리소스 관리자를 등록합니다.

(다음에서 상속됨 Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

트랜잭션에 참여할 1단계 커밋 최적화를 지원하는 일시적 리소스 관리자를 참여시킵니다.

(다음에서 상속됨 Transaction)
Equals(Object)

이 트랜잭션과 지정된 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Transaction)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Transaction)
GetPromotedToken()

트랜잭션이 byte[] 승격될 때 메서드에서 Promote 반환된 를 가져옵니다.

(다음에서 상속됨 Transaction)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

트랜잭션에 참여할 2단계 커밋을 지원하는 영속적 리소스 관리자를 승격 및 참여시킵니다.

(다음에서 상속됨 Transaction)
Rollback()

트랜잭션을 롤백(중단)합니다.

(다음에서 상속됨 Transaction)
Rollback(Exception)

트랜잭션을 롤백(중단)합니다.

(다음에서 상속됨 Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

비MSDTC 프로모터를 통해 생성된 분산 트랜잭션 식별자를 설정합니다.

(다음에서 상속됨 Transaction)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

TransactionCompleted

트랜잭션이 완료되었음을 나타냅니다.

(다음에서 상속됨 Transaction)

명시적 인터페이스 구현

IAsyncResult.AsyncState

BeginCommit(AsyncCallback, Object) 메서드 호출의 마지막 매개 변수로 제공된 개체를 가져옵니다.

IAsyncResult.AsyncWaitHandle

비동기 작업이 완료될 때까지 기다리는 데 사용하는 WaitHandle을 가져옵니다.

IAsyncResult.CompletedSynchronously

비동기 커밋 작업이 동기적으로 완료되었는지 여부를 나타내는 표시를 가져옵니다.

IAsyncResult.IsCompleted

비동기 커밋 작업이 완료되었는지 여부를 나타내는 표시를 가져옵니다.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

이 트랜잭션을 serialize하는 데 필요한 데이터가 있는 SerializationInfo를 가져옵니다.

(다음에서 상속됨 Transaction)

적용 대상

스레드 보안

이 형식은 스레드로부터 안전합니다.

추가 정보