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

実行する破棄操作のタイムアウト期間。

適用対象