다음을 통해 공유


CommittableTransaction.EndCommit(IAsyncResult) 메서드

정의

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

public:
 void EndCommit(IAsyncResult ^ asyncResult);
public:
 void EndCommit(IAsyncResult ^ ar);
public void EndCommit (IAsyncResult asyncResult);
public void EndCommit (IAsyncResult ar);
member this.EndCommit : IAsyncResult -> unit
member this.EndCommit : IAsyncResult -> unit
Public Sub EndCommit (asyncResult As IAsyncResult)
Public Sub EndCommit (ar As IAsyncResult)

매개 변수

asyncResultar
IAsyncResult

비동기 커밋과 관련된 IAsyncResult 개체입니다.

예외

BeginCommit(AsyncCallback, Object)이 호출되고 트랜잭션이 처음으로 롤백된 경우

설명

비동기 약정과 관련된 정리 작업을 완료한 경우 메서드에 대한 매개 변수 BeginCommit 로 지정된 콜백 대리자에서 이 메서드를 호출해야 합니다. 대리자를 기다리지 않고 이 메서드를 일찍 호출할 수도 있습니다. 이 메서드를 호출할 때까지 트랜잭션이 완료되지 않은 경우 이 메서드는 완료될 때까지 기다립니다.

주의

CompletedSynchronously 작업이 동기적으로 완료된 경우에도 항상 반환 asyncResult 되는 속성입니다false.

Commit 트랜잭션 EndCommit 처리의 첫 번째 단계가 완료될 때까지 차단합니다. 첫 번째 단계는 트랜잭션의 모든 리소스 관리자 및 인리스트먼트가 트랜잭션 결과에 투표하고 TransactionManager 트랜잭션을 커밋하거나 중단하기로 결정한 후에 종료됩니다. 처리의 두 번째 단계는 항상 비동기입니다. 따라서 이 데이터를 보기 위해 다른 트랜잭션을 사용하지 않을 때 지정된 트랜잭션 내에서 커밋된 데이터를 나중에 즉시 사용할 수 있다는 보장은 없습니다.

적용 대상