1人のマネージャーと複数のコンシューマー/クライアントを持つシステムに通知メカニズムを実装する必要があります。管理者はデータベースをポーリングし、データに変更があるたびにイベントを発生させる必要があります。これで、すべてのクライアントが同じデータに関心を持っていれば簡単であり、単一のイベントを実装して、すべてのクライアントをそのイベントにサブスクライブするだけで十分です。ただし、クライアントは、担当するデータのイベントのみを受信する必要があります。
たとえば、新しい顧客を追加する複数のクライアントがあります。これは、スレッドセーフな方法でマネージャーを介して行われます。ここで、顧客を作成したこれらのクライアントは、それらの顧客にのみ発生する変更を知る必要があります。マネージャーはN秒ごとにCustomersテーブルをポーリングし、変更されたすべての顧客のリストを取得します。次に、マネージャーは、関心のあるクライアントに通知を「ルーティング」する必要があります(より適切な言葉がないため)。
これは、各クライアントがマネージャーに提供する必要があるある種のコールバックを使用して実装する必要がありますか?これは私が必要としているもののように聞こえますが、このコールバックにパラメーターを渡す方法がわかりません(ここでは、これらは私が興味を持っている顧客です。他の顧客の更新がある場合は気にしないでください)
私はC#、.NET2.0を使用しています。ありがとう!