ハンドラーが受け取る各メッセージには、集約ルートの状態全体が含まれます。その後、システムはこのデータに基づいて必要な操作を実行できます。私のシナリオでは、メッセージ内のデータに基づいてアクセスを許可します。たとえば、部屋 A と B へのアクセスです。メッセージには、許可されたアクセスのセット全体が含まれます。MSMQ などのメッセージング システムは順序どおりの配信を保証しないため、これらのメッセージは順不同で到着する可能性があります。
メッセージ #1 は部屋 A と B へのアクセスを許可するが、メッセージ #2 は部屋 A へのアクセスのみを許可するシナリオ& B. これは望ましい結果ではありません。ルーム A へのアクセスのみを許可する必要があります。各メッセージにはタイムスタンプが含まれており、公開時に設定されます。このタイムスタンプを使用して、順不同で到着する古いメッセージを削除したいと思います。たとえば、メッセージ #2 がメッセージ #1 の前に到着した場合、メッセージ 1 # を破棄する必要があります。
このフィルターを各ハンドラー メソッドに実装することもできますが、それは面倒なので、Rebus にEAI Message Filtersのラインに沿った何かがあることを願っています。
私は他のオプション/実装を受け入れていますか?