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
Время ожидания для завершения операции прерывания.