ReceiveContext.Abandon 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使状态机转换到放弃状态。
重载
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
要完成的放弃操作的超时值。