Будет ли частный объект MessageQueue с неверным путем вызвать исключение MessageQueueException? - PullRequest
0 голосов
/ 16 августа 2011

Во-первых, у меня нет опыта работы с MSMQ.

Предположим, что неверный путь передается в конструктор для частного объекта MessageQueue. Будет ли он вызывать исключение MessageQueueException при вызове метода send? Если это так, будет ли код ошибки по-прежнему QueueNotFound? MSDN заявляет, что эта ошибка возвращается для открытых очередей, не зарегистрированных в каталоге, и интернет-очередей, которые не существуют в пространстве имен очереди сообщений. Однако, согласно тому, что я прочитал, частная очередь не публикуется в Active Directory, поэтому я не уверен, что произойдет.

Я прошу прощения, если это не имеет смысла.

1 Ответ

2 голосов
/ 16 августа 2011

Если вы попытаетесь отправить в очередь, которая не существует, то вызов для отправки не будет прерван, пока имя очереди находится в допустимом формате. Под этим я подразумеваю, что адрес очереди назначения не должен существовать, но формат имени очереди должен быть правильным.

Скорее, подсистема MSMQ будет ставить сообщение в очередь локально во временной исходящей очереди, которую вы должны увидеть в окне.

Причина, по которой он это делает, заключается в том, что он считает, что очередь назначения может быть временно недоступна, и когда она снова станет доступной, сообщение будет передано.

Однако через некоторое время (не могу вспомнить значение по умолчанию) оно переместит сообщение в очередь недоставленных сообщений как недоставленное.

Надеюсь, это поможет.

...