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
破棄操作が完了するまでのタイムアウト。