2011-12-22 7 views
1

私は、Queue1からのメッセージの受信とQueue2へのメッセージの送信をサポートする必要もあるWPFソリューションを用意しています。私はこれをすべて設定し、早期テストで見つけました。処理中の複数のNServiceBusプロジェクトをどのように処理できますか?

しかし、私は(私は、出力フォルダ内の両方のプロジェクトアセンブリを持っている)、入力と出力のプロジェクトを組み合わせたとき、私は次のエラーを取得する:

Host doesn't support hosting of multiple endpoints. Endpoint classes found: MySolution.Queue1.EndpointConfig, MyProject.Queue1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null,

MySolution.Queue2.EndpointConfig, MyProject.Queue2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null You may have some old assemblies in your runtime directory.

Try right-clicking your VS project, and selecting 'Clean'.

私はこの間違ったついて行くだろうか? WPFプロセスで1つのキューしか処理できないのですか? (そのような場合にはあまりにも頑丈に見えません。)

多分私は間違った方法をしています。私はちょうど同じキューから送受信するべきですか?キューが複数のメッセージタイプを扱うことはできますか?

+0

"キューで複数のメッセージタイプを処理できますか?" MSMQの種類制限は、トランザクションキュー内のトランザクションメッセージと、非トランザクションキュー内の非トランザクションメッセージです。 –

+0

はいNSBでは、物理エンドポイントごとに1つの入力キューしか持てません。それが堅牢性にどのように関係するか説明できますか? –

答えて

1

私はそれがあなたが実行しているプロセスごとのキューを見ています。 (または、アプリドメインを手作業で設定している場合はアプリドメインです。トップシェルフシェルビングで複数のサービスを作成しない限りそうはなりません)。同じキューでは、さまざまなタイプのメッセージを処理できます。受信したメッセージのタイプに一致するすべてのハンドラが着信メッセージに対して呼び出されます。キューを見るためにnservicebusを設定することは、ハンドラなどに関係するアセンブリ(同じアセンブリ内にプロセスとハンドラを持つことができる)ではなく、プロセス自体のコード/設定の関心事です。処理されるメッセージがそのキューに送信されている間だけ、1つのキューが必要です。それがあなたが探しているものに答えるかどうかはわかりませんが、それはアプリドメインのキューが1つだけ必要な理由です。

関連する問題