次の方法で共有


IPlaybackControl インターフェイス

定義

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

public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
属性

注釈

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

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

有害メッセージは、サーバーまたはキュー システムに問題がある可能性があるため、何らかの理由で処理できないメッセージです。 トランザクションはロールバックされ、有害メッセージはキューの先頭に移動します。 メッセージが再びデキューされると、同じ条件が発生します。 このメッセージは、問題を修正するために何かが行われるまで、無期限にループを続けることができます。 Queued Components サービスは、一連の再試行を使用して有害メッセージを処理します。 再試行が複数回失敗すると、メッセージは最終的な休止キューに移動されます。 有害メッセージは、Queued Components Message Mover ツールを使用して手動で移動するまで、残りのキューに残ります。

有害メッセージの状況は、 メソッドを FinalServerRetry 使用してプログラムで解決することもできます。これにより、遅延アクティブ化を再生しようとするすべての試行が失敗したことをサーバー側コンポーネントの作成者に通知します。

有害メッセージが見つかった場合は、問題の根本的な原因をすばやく解決できる可能性があります。 たとえば、何らかの理由でサーバーがオフラインだった場合は、サーバーをオンラインに戻すことができます。 問題を迅速に解決できない場合は、トランザクションが発生しなかったことを要求者に通知する別のトランザクションを自動的に生成できます。 その後、リクエスタは、既にコミットされているトランザクションの影響を取り消す補正トランザクションを作成できます。

メソッド

FinalClientRetry()

サーバーにメッセージを配信しようとするすべてのメッセージ キュー試行が拒否され、最終的にメッセージがクライアント側のトランザクション配信不能キューに置かれていることをクライアント側の例外処理コンポーネントに通知します。

FinalServerRetry()

サーバーへの遅延アクティベーションを再生しようとするすべての試行が失敗し、メッセージが最後の静止キューに移動されようとしていることをサーバー側の例外クラスの実装に通知します。

適用対象