次の方法で共有


COM+ キューに登録されたコンポーネントでの COM+ イベントの使用

COM+ イベント サービスは、パブリッシャーからサブスクライバーへのイベントの配信を管理するために使用されます。 COM+ キューに登録されたコンポーネント サービスを使用すると、パブリッシャーのメッセージをキューに入れ、後でサブスクライバーに再生することで、パブリッシャーとサブスクライバーの処理時間を独立させることができます。 キューに置かれたコンポーネント サービスを使用する必要があるかどうかは、アプリケーションの基になるビジネス ロジックによって異なります。 時間に依存しないイベントが必要な場合は、COM+ キューに登録されたコンポーネント サービスで COM+ イベント サービスを使用してイベントを作成できます。

Note

COM+ キューに登録されたコンポーネント サービスの使用の詳細については、「COM+ キューに登録されたコンポーネント」を参照してください。

 

キューに登録されたコンポーネント サービスメイン 1 つのメッセージ内でのメソッドの順序の呼び出しが含まれます。 レコーダーは、すべてのメソッド呼び出しをメッセージにバッチ処理した後、メッセージが処理されたときに順番にこれらのメソッドを呼び出します。

キューに置かれたコンポーネント レコーダーとプレーヤーは、次の 2 つの場所のいずれかに配置できます。

  • パブリッシャーとイベント オブジェクトの間
  • イベント オブジェクトとサブスクライバーの間

パブリッシャー オブジェクトとイベント オブジェクトの間にレコーダーとプレーヤーを配置すると、 イベント クラス コンポーネントがキューに登録されます。 イベント クラス コンポーネントは、キュー用にマークし、パブリッシャーとは別のプロセスでプレーヤーによってアクティブ化される必要があります。

イベントを非同期に配信するには、イベント オブジェクトとサブスクライバーの間でレコーダーとプレーヤーを作成し、サブスクリプション オブジェクトの Queued 属性を設定します。 これにより、SubscriberMoniker が "queue:/new:/{12345678-1234-1234-1234-123456789012}" のように設定されます。

イベント状況でキューに登録されたコンポーネントを使用する場合は、配信への影響を考慮する必要があります。 キューに置かれたコンポーネント サービスは、1 つのメッセージ内の 1 つのオブジェクトの有効期間内のすべての呼び出しを記録して再生するため、すべての呼び出しは行われた順序で再生されます。 ただし、複数のオブジェクトを持つセッションが複数ある場合は、順序を保証できません。 順序が重要な場合は、順番に再生する必要がある呼び出しが同じオブジェクト インスタンスに存在することを確認します。

COM+ でのイベントのフィルター処理

COM+ でのイベントの発行と配信

サブスクリプション

COM+ イベント クラス オブジェクト