다음을 통해 공유


ReceiveContext.Abandon 메서드

정의

상태 시스템이 중단된 상태로 전환됩니다.

오버로드

Abandon(TimeSpan)

지정된 시간 제한 값을 사용하여 상태 시스템이 중단된 상태로 전환됩니다.

Abandon(Exception, TimeSpan)

지정된 예외와 시간 제한 값을 사용하여 상태 시스템이 중단된 상태로 전환됩니다.

설명

Abandon 는 앰비언트 트랜잭션이 있고 Complete 가 호출된 후 트랜잭션이 롤백될 때 응답을 중지할 수 있습니다. 트랜잭션 롤백이 완료되기 전에 가 호출되면 Abandon 경합 조건이 존재하여 에 대한 호출 Abandon 이 응답을 중지합니다. 이 예제는 다음 의사 코드 예제에서 확인할 수 있습니다.

using (TransactionScope ts = new TransactionScope())   
{  
   try  
   {  
       rc.Complete();  
      ...  
   }  
   Catch (Exception)   
   {  
      rc.Abandon()  
   }  
}  

이는 로 작업하는 데 권장되는 패턴이 ReceiveContext아닙니다. 대신 try/catch 블록을 트랜잭션 scope 외부에 배치해야 합니다.

Abandon(TimeSpan)

지정된 시간 제한 값을 사용하여 상태 시스템이 중단된 상태로 전환됩니다.

public:
 virtual void Abandon(TimeSpan timeout);
public virtual void Abandon (TimeSpan timeout);
abstract member Abandon : TimeSpan -> unit
override this.Abandon : TimeSpan -> unit
Public Overridable Sub Abandon (timeout As TimeSpan)

매개 변수

timeout
TimeSpan

중단 작업을 완료하기 위한 시간 제한입니다.

적용 대상

Abandon(Exception, TimeSpan)

지정된 예외와 시간 제한 값을 사용하여 상태 시스템이 중단된 상태로 전환됩니다.

public:
 virtual void Abandon(Exception ^ exception, TimeSpan timeout);
public virtual void Abandon (Exception exception, TimeSpan timeout);
abstract member Abandon : Exception * TimeSpan -> unit
override this.Abandon : Exception * TimeSpan -> unit
Public Overridable Sub Abandon (exception As Exception, timeout As TimeSpan)

매개 변수

exception
Exception

중단 작업을 발생시킨 예외입니다.

timeout
TimeSpan

중단 작업을 완료하기 위한 시간 제한입니다.

적용 대상