メッセージ「Event1」によって開始されるが、同じアプリケーション ID を持つ「重複した」開始メッセージの受信を無視するサガを作成したい (2 人以上のユーザーが短時間内に UI ボタンを押した場合に発生する可能性がある) . ドキュメントは、このアプローチが機能することを示唆しているようです:
- 佐賀が宣言
IAmStartedByMessages<Event1>
- 佐賀はそれ自体を構成します
ConfigureMapping<Event1>(s => s.SomeID, m => m.SomeID);
- Handle(Event1 evt) は、最初のメッセージを処理するときにブール値のフラグを設定し、フラグが既に設定されている場合はハンドラーから除外されます。
これは機能しますか?サブスクライバーがマルチスレッドの場合、競合状態は発生しますか? もしそうなら、どうすれば望ましい動作を達成できますか?
ありがとう!