免責事項:これは、非常に徹底的に回答されたNServiceBusに関する他の質問の続きの質問です。
私の現在の質問はこれです:上記の記事のようにウェブサイトが「ダム」になるように構築されている場合、次のシナリオはどのように機能しますか?
ユーザーは、関連する詳細をフォームに入力してWebサイトに登録します。ユーザーがフォームの[送信]ボタンをクリックすると、Webアプリケーションはフォームデータを取得し、NServiceBusとBus.Send()を使用してアプリケーション層に送信するメッセージを作成します。アプリケーション層は、新しいユーザーを作成し、ユーザーが作成されたイベントを公開して(Bus.Publish())、他のプロセスが自分のことを実行できるようにします(新しいユーザーにメールを送信し、ユーザーを検索インデックスに追加します)。 、など)。
このシナリオのWebアプリケーションは、新しいユーザーインスタンスの作成をアプリケーション層に完全に依存しているため、ユーザーのIDをどのように知ることができますか?このシナリオでNServiceBusを使用しなかった場合、WebサイトにDALへのインプロセス呼び出しを発行させる場合は、NHibernateのGuidComb()戦略を使用して、新しい行を永続化する前に新しいユーザーの識別子を作成します。データベース。(現在のシナリオで)新しいユーザーを作成するコマンドを受信するメッセージハンドラーアプリケーションが同じ戦略を使用する場合、userIdはどのようにWebアプリケーションに伝達されますか?
このようなシナリオで識別子を管理するために別の戦略を適用する必要がありますか?