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
要完成之放棄作業的逾時。