1

はじめ
に 最近、NServiceBus デザイナー ツールを使用して、同じソリューション内にいくつかのアプリケーションを作成しました。すべてを設定された標準に保つことができたので、これはすべてうまくいきました. 私が気づいたのは、このツールは、私が作成したサービス全体で、すべてのメッセージ、コマンド、およびイベントを独自のアセンブリに保持しようとしているように見えるということです。

次の設定を検討してください。
ソリューション名: TestCompany
作成されるサービス: TestCompany.Sales、TestCompany.Finance、TestCompany.Monitoring

上記は TestCompany.InternalMessages アセンブリを作成し、監視サービスは基本的に、発生した可能性のあるエラーが記録される中心点です。他のサービスがメッセージを送信できるようにしたいと思います。

問題
この場合の私の懸念は、販売サービスが財務サービスにメッセージを送信し、エラーが発生した場合に監視にエラーを送信することです。ユニキャストバスのセットアップ内で、アセンブリとその宛先を入力しますが、基本的に、アセンブリ内のさまざまなメッセージに対してさまざまな宛先を入力したいと思います。独自のアセンブリを作成してそこにメッセージを移動するだけでよいことはわかっていますが、デザイナーが私を押し込もうとしていることに反しているようです。助言がありますか?

更新

私が対処しなければならない問題は、モデリング テンプレートのインストール方法に少し関係していると思います。エンドポイント デザイナーにコンポーネントを追加することも、null 参照例外を受け取ることなく右クリックすることもできないため、それらがうまく機能しないことに気付きました。削除して再インストールしても問題は解決しないようです。

4

2 に答える 2

1

モデリング ツールでこのアプローチを採用した理由は、プロジェクトの数が増えると Visual Studio のパフォーマンスが低下するためです。それは、現在の計画における悪の中で最も小さいものです。

注目すべきことの 1 つは、組み込みの監査機能です。これらの機能は、システムを通過するすべてのメッセージを中央のキューに転送し、その背後に監視サービスを配置できます。

于 2012-09-02T09:21:07.153 に答える
0

アセンブリ内のすべてのメッセージの宛先を入力できます。これが NServiceBus デザイナー ツールを介してどのように行われるかはわかりませんが、構成では次のようになります。

<UnicastBusConfig>
    <MessageEndpointMappings>
        <add Messages="TestCompany.SalesMessages.NewSaleCreatedMessage" Endpoint="FinanceService" />
        <add Messages="TestCompany.SalesMessages.ErrorMessage" Endpoint="MonitoringService" />
    </MessageEndpointMappings>
</UnicastBusConfig>

サービスごとにメッセージ アセンブリを作成することをお勧めします。(デザイナーがこれをどのように処理するかはわかりません)

于 2012-08-24T08:20:14.067 に答える