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

破棄操作が完了するまでのタイムアウト。

適用対象