次の方法で共有


IPlaybackControl インターフェイス

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

メッセージ キューの配信機構のサーバー側再生エラーおよびクライアント側エラーの異常処理において、キュー コンポーネント内で機能します。

この型のすべてのメンバの一覧については、IPlaybackControl メンバ を参照してください。

<Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>
<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>
Public Interface IPlaybackControl
[C#]
[Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[C++]
[Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[InterfaceType(ComInterfaceType::InterfaceIsIUnknown)]
public __gc __interface IPlaybackControl
[JScript]
public
   Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")
 InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
interface IPlaybackControl

解説

COM+ カタログ内のコンポーネントに対して定義された例外クラスは、 IPlaybackControl と元のクラスのインターフェイスの両方を実装します。元のクラス インターフェイスのメソッド実装は、クラス自体の内部で失敗したメソッドの例外処理の実行に使用されます。これらは、 FinalClientRetry または FinalServerRetry の後に、もともと呼び出されたメソッドの例外を処理するために呼び出されます。

キュー コンポーネント プレーヤーは、 IPlaybackControl のメソッドを呼び出して、メッセージが最後の静止キューまたは配信不能キューに置かれようとしていることを例外ハンドラ オブジェクトに通知します。キュー コンポーネント プレーヤーは、次に、元のメソッド呼び出しで失敗した例外ハンドラ オブジェクト内で同じメソッドを呼び出します。例外ハンドラ オブジェクトは、たとえば、問題の診断情報を収集したり、クライアントに問題を通知するオブジェクトまたはメッセージを生成したりすることによって、代替手段を実装できます。アプリケーションが IPlaybackControl を実装しない場合は、キュー コンポーネント プレーヤーがすべての再試行を終えると、最後の静止キューまたは配信不能キューにポイズン メッセージが置かれます。

ポイズン メッセージとは、サーバーまたはキュー システムの問題など、何らかの理由で処理できないメッセージです。トランザクションがロールバックされ、ポイズン メッセージがキューの先頭になります。メッセージが再びキューから取り出されると、同じ状態が発生します。このメッセージは、問題を修正するために何らかの処置が施されるまで無限にループし続けます。キュー コンポーネント サービスは、一連の再試行を使用することにより、ポイズン メッセージを処理します。再試行が何度か失敗した後、メッセージは最後の静止キューに移動されます。ポイズン メッセージは、キュー コンポーネントのメッセージ ムーバ ユーティリティを使用して手動で移動するまで静止キュー内に残されます。

ポイズン メッセージの状況は、 System.EnterpriseServices.FinalServerRetry メソッドを使用してプログラミングによって解決することもできます。このメソッドは、遅延アクティベーションを再生しようとするすべての試行が失敗したことをサーバー側のコンポーネント作成者に通知します。

ポイズン メッセージを発見した場合、問題の基となる原因をすばやく解決できる可能性もあります。たとえば、何らかの原因でサーバーがオフラインになっていた場合は、サーバーをオンラインに戻すことができます。問題をすばやく解決できない場合は、トランザクションが発生しなかったことを要求元に通知する他のトランザクションを自動的に生成できます。この通知を受け取った要求元は、既にコミットされているトランザクションの効果を元に戻す補正トランザクションを作成できます。

必要条件

名前空間: System.EnterpriseServices

プラットフォーム: Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Enterpriseservices (System.Enterpriseservices.dll 内)

参照

IPlaybackControl メンバ | System.EnterpriseServices 名前空間