私はサービスバス(特にNServiceBus)を初めて使用し、最初の佐賀を書いたばかりです。
佐賀は、トランザクションを受信し、メッセージを送信して、ユーザーID、支払いの詳細、製品の詳細などを、ほとんど閉じたシステム(プログラムでアクセスするのが難しい)に対して検証することを目的としています。現在、一部の機能は自動化とハンドラーの作成が簡単ですが、これらのタスクを実行するために使用できるAPIがないため、トランザクションを完了するために手動の介入が必要な場合がいくつかあります。これに対して複数のヒューマンエージェントが機能するため、同時実行性が問題になります。各ユーザーにオンデマンドで次のメッセージをプルさせて、MSMQに固有の同時実行性を利用してみませんか。
すべてがプッシュベースであるように見えるため、nhibernateのIBusで、次に利用可能なメッセージをオンデマンドで取得できるようにするメソッドを見つけることができませんでした。そこで、標準の.NET System.Messaging.MessageQueue APIを使用してMSMQからメッセージを手動で取得し、ユーザーがこれを操作して、IBusを介して応答を書き戻すことでサガにリターンを送信できるようにする、UIのプロトタイプを作成しました。 Send()メソッド。
これに関する私の主な質問は次のとおりです。これはNServiceBusに関する基本原則に違反しますか?そうでない場合は、NServiceBus APIを介してこれを行う方法はありますか?
また、MSMQまたはUIアプリケーションを介して同時実行を処理しますか?
乾杯