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 следует размещать за пределами области транзакции.

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

Время ожидания для завершения операции прерывания.

Применяется к