0

Ok、

簡単な背景

  1. 私たちは NServiceBus 2.0 をほとんど標準の設定で使用しており、「クレイジー」なことは何もしていません。

  2. アプリは .NET 3.5

  3. 開発環境はパブリッシャーであり、サブスクライバーは同じボックス、Windows 7 にあります。

  4. ステージング環境はパブリッシャーであり、サブスクライバーは別のボックスにあり、1 つは Windows 7、もう 1 つは Windows Server 2008 です。

行動

  • 開発環境では、パブリッシャー サブスクライバーは正常に動作します。これは、コード自体が、起動、コンテナーの構成などに関して問題がなく、すべてのメッセージが正しく構成されていることを示しています。つまり、サイズ、シリアル化などです。

  • ステージング環境では、パブリッシャーはサブスクリプション リクエストを正常に受け取ります。

  • また、サブスクリプション テーブル (SQL Server、DBSubscription を使用) にサブスクライバーを正常に格納し、"queuename@machinename" は正しいです。

問題

Bus.Publish() では何も起こりません。送信キューは作成されず、メッセージはどこにも送信または作成されず、エラーはスローされません。

追加情報

  • 興味深いことに、パブリッシャーからの Bus.Send は正常に動作します! もちろん、これを構成に追加する必要があります。

    <UnicastBusConfig> <MessageEndpointMappings> <add Messages="Library.Messages" Endpoint="subscriberqueue@machinename"/> </MessageEndpointMappings> </UnicastBusConfig>

  • また、パブリッシャーは次のことを解決できます。

ping マシン名

では、何が起こっているのでしょうか。また、何に注意すればよいですか?

なぜ SEND は機能し、PUBLISH は機能しないのですか?

PUBLISH を機能させるにはどうすればよいですか?

4

1 に答える 1

0

ログのしきい値をデバッグに変更し、パブリッシュの呼び出し中にパブリッシャーが「...へのメッセージ送信」をログに記録するかどうかを確認します。

于 2010-07-01T05:44:42.390 に答える