CommittableTransaction.EndCommit(IAsyncResult) 메서드

정의

트랜잭션을 비동기적으로 커밋하려는 시도를 끝냅니다.Ends an attempt to commit the transaction asynchronously.

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 개체입니다.The IAsyncResult object associated with the asynchronous commitment.

예외

BeginCommit(AsyncCallback, Object)이 호출되고 트랜잭션이 처음으로 롤백된 경우BeginCommit(AsyncCallback, Object) is called and the transaction rolls back for the first time.

설명

비동기 커밋과 연결 된 정리 작업을 완료 한 경우 BeginCommit 메서드에 대 한 매개 변수로 지정 된 콜백 대리자에서이 메서드를 호출 해야 합니다.You should call this method in the callback delegate specified as a parameter to the BeginCommit method, when you have finished any cleanup work associated with the asynchronous commitment. 또한이 메서드는 대리자를 기다리지 않고 초기 호출할 수 있습니다.You can also call this method early without waiting for the delegate. 이 메서드를 호출 하는 시점에서는 트랜잭션이 완료 되지 않은 경우이 메서드 해당 완료 대기 합니다.If, by the time you call this method, the transaction has not completed, this method waits for its completion.

주의

asyncResult에서 반환 하는 CompletedSynchronously 속성은 작업이 동기적으로 완료 된 경우에도 항상 false됩니다.The CompletedSynchronously property returned by asyncResult is always false, even if the operation completed synchronously.

CommitEndCommit는 트랜잭션 처리의 첫 번째 단계가 완료 될 때까지 차단 됩니다.Commit and EndCommit block until the first phase of transaction processing is complete. 첫 번째 단계는 트랜잭션의 모든 리소스 관리자 및 참여가 트랜잭션 결과에 대해 투표 하 고 TransactionManager에서 트랜잭션을 커밋하거나 지속적으로 결정 한 후에 종료 됩니다.The first phase ends after all resource managers and enlistments in the transaction have voted on the transaction outcome and the TransactionManager has durably decided to commit or abort the transaction. 처리의 두 번째 단계는 항상 비동기입니다.The second phase of processing is always asynchronous. 따라서 보장이 없습니다만 지정된 된 트랜잭션 내에서 커밋된 데이터 수 있는 즉시 나중에 다른 트랜잭션이이 데이터를 사용 하지 않는 경우.Therefore, there is no guarantee that data just committed from within a given transaction will be immediately available afterwards when not using another transaction to view this data.

적용 대상