4

MSMQ メッセージをリモート マシンに送信するプログラムがあります。
これはうまくいきます。

ただし、デバッグ中に、さまざまなマシンでプログラムを実行します。リモート サーバーでは、開発マシン用にマッピングなどが設定されていないため、メッセージの受信に問題があります。

私がやりたいことは、MSMQ メッセージを送信するマシンを指定できるようにすることです。リモートマシンがメッセージを正しく受信できるように、必要なマッピングを持つもの。

現在、このパスを使用してキューを作成しています: FormatName:DIRECT=http://the.remote.machine.co.uk/msmq/frommycompany.

次に、メッセージ オブジェクトを作成し、それらをトランザクション内で送信することにより、メッセージを送信します。

リモートマシンがメッセージを正しく受信できるように、プログラムが実行されているマシン以外のマシンからリモートマシンにメッセージを送信するにはどうすればよいですか?

4

2 に答える 2

2

問題を正しく理解していれば、ルーターとして機能するサービスを使用することをお勧めします。

最初に開発マシンからすべてのクライアントによって呼び出され、その後、ターゲット マシンにメッセージを送信する唯一のクライアントとして機能するWCF サービスを使用することができます。WCF は、組み込み機能を使用してメッセージをキューに送信するのに適しています。

あるいは、または組み合わせて、MSMQ での作業をより簡単にするNServiceBusなどのメッセージング フレームワークの使用を検討することもできます。

NServiceBus を使用すると、メッセージの送信先とサブスクライブするユーザーを柔軟に構成できます。ほとんどの場合、これはアプリケーション構成ファイルで簡単に設定できます。

于 2012-07-13T14:57:07.797 に答える
1

あなたの質問を理解したら、マシン 1 からマシン 2 のキューに送信したいと考えています。

       System.Messaging.Message msg = new System.Messaging.Message();
        msg.Body = "This is a test message";
        msg.Label = "Test Message";
        msg.Formatter = new ActiveXMessageFormatter();

        MessageQueue queue = new MessageQueue("FormatName:DIRECT=OS:machine2\\Private$\\recievingQueue");

        queue.Send(msg);
于 2012-07-13T20:24:28.617 に答える