2011-02-08 8 views
1

これによると:http://msdn.microsoft.com/en-us/library/ms811053.aspxからのリモートキューは、RPC呼び出しを呼び出すことを意味します。ローカルキューから読み込むのはどうですか? RPCも使用されていますか?ローカルプライベートMSMQから読み込むときに使用されるプロトコルは何ですか?

私が処理しようとしているシナリオは、ローカルキューから複数のサービスを読み込むことです。リモートキューを使用すると、RPCは他のサービスがリモートキューから読み取ることを防ぐブロッキング呼び出しを作成します。しかし、キューがローカルの場合、一度に1つのサービスからの要求をMSMQが処理するため、呼び出しはブロックされますか?

答えて

1

受信メッセージへのローカルアクセスはローカルRPCを使用します。
http://technet.microsoft.com/en-us/library/cc738291(WS.10).aspx

手順は同じです。共有のためにキューを開かないと(つまり、MQ_DENY_RECEIVE_SHAREを指定した場合)、ローカルまたはリモートのアクティビティに関係なくブロックされます。

乾杯
ジョンBreakwell

+0

だから、ブロッキング呼び出しを作成し、ローカル・キューから受信しますか? MSMQのベストプラクティスは、リモートキューではなくローカルキューから取得することです。複数のプロセスがローカルキューから受信した場合、各プロセスはブロッキングコールを作成しますか? – legion

+0

ブロッキングコールは、私が以前見てきたものではありません。ブロックされている場合、ローカルキューまたはリモートキューを使用するかどうかは関係ありません(ローカルキューとリモートキューのアクセスの間の通常のパフォーマンスの差異から判断してください)。私はいつもブロックがメッセージレベルであると仮定していました。 MQ_DENY_RECEIVE_SHAREまたはMQ_DENY_NONEを指定していますか? –

関連する問題