クライアントが使用するデスクトップ アプリと、バックエンド処理を行う Win サービスの 2 つのアプリケーションがあります。Rhino Service Bus を使用して、メッセージ経由でバックエンド処理をトリガーできるようにしたいと考えています。このメッセージはクライアント アプリから送信される場合もあれば、win サービスから送信される場合もあります。誰がトリガーしたかは気にしません。だから私はpub subが必要です。問題は、コンソール アプリから問題なくトリガーできることです。サービスからトリガーしようとすると、メッセージのサブスクライバーがありませんというエラーが表示されます。私の設定で何が問題になっていますか?
コンソール app.config
<rhino.esb>
<bus threadCount="1" numberOfRetries="5" endpoint="msmq://localhost/console.debug" />
<messages>
<add name="MyMessages" endpoint="msmq://localhost/host.debug" />
</messages>
Win サービス app.config
<rhino.esb>
<bus threadCount="1" numberOfRetries="5" endpoint="msmq://localhost/host.debug" />
<messages />
メッセージを送信するためのコードは、両方のアプリで同じです。
private IServiceBus _serviceBus;
....
public void Trigger()
{
_serviceBus.Publish(new myTriggerCommand());
}