2011-08-16 4 views
0

まず、MSMQに関する経験はありません。無効なパスを持つプライベートMessageQueueオブジェクトがMessageQueueExceptionをトリガーしますか?

プライベートなMessageQueueオブジェクトのコンストラクタに無効なパスが渡されたとすると、sendメソッドが呼び出されたときにMessageQueueExceptionがトリガーされますか?もしそうなら、エラーコードは依然としてQueueNotFoundですか?このエラーは、ディレクトリに登録されていない公開キューと、メッセージキューの名前空間に存在しないインターネットキューに対して返されます。しかし、私が読んだことによると、プライベートキューはActive Directoryに公開されていないので、何が起こるのか分かりません。

これが意味をなさない場合はお詫び申し上げます。

答えて

2

存在しないキューに送信しようとすると、キュー名が有効な形式である限り、送信呼び出しは失敗しません。つまり、宛先キューアドレスが存在する必要はありませんが、キュー名の形式は正しい必要があります。

MSMQサブシステムは、一時的なアウトバウンドキューにメッセージをローカルに格納します。このキューは、ボックスに表示されます。

この理由は、宛先キューが一時的に使用できないと考えているためで、再度使用可能になるとメッセージが送信されるためです。

ただし、一定時間が経過すると(既定値は記憶できません)、配信不能としてデッドレターキューにメッセージが移動します。

これが役に立ちます。

+0

MSMQは、ローカル発信キューに配信するための例外を生成するだけです。リモート接続先への配信問題のエラートラップには、ネガティブソースジャーナリングと送信者のデッドレターキューの監視が必要です。 オペレーティングシステム –

+0

ジョンさんありがとう、私はあなたのコメントにあなたのコメントを取り入れたいと思いますが、私はあなたが何を言っているのか分かりません。 –

+0

最後に「オペレーティングシステム」のビットを無視してください。 –