в принятом сообщении не обязывает
Наличие очереди ответа в принятом сообщении не обязывает приложение-приемник слать ответ непременно в эту очередь. Оно может вообще не отвечать — это дело его совести. Тем не менее, если мы не просто извещаем принимающее приложение, а хотим от него что-то взамен, логично указать ему, где именно мы будем ждать ответа, потому что само оно может не догадаться. В MSMQ не существует заранее предопределенных административных очередей и очередей ответа. Это обычные очереди, которые создаются примерно так, как было показано в предыдущем пункте, о чем должно позаботиться само приложение. В целях дополнительной безопасности помимо встроенных возможностей MSMQ по шифрованию сообщения можно использовать сертификаты для аутентификации отправителей. MSMQ поддерживает как внешние (полученные от организации, занимающейся выдачей сертификатов: AT&T, InternetMCI Mail, VeriSign и др.), так и внутренние (то есть выданные MSMQ) сертификаты. Более того, в свойствах очереди (закладка Advanced или qinfo.Authenticate) можно явно указать, что все сообщения, уровень аутентификации которых не соответствует уровню аутентификации очереди, должны быть хладнокровно отвергнуты.
Рассмотрим некоторые из перечисленных свойств на примере простой пользовательской функции, которая находит первую из очередей с меткой strQueLbl (выше мы договорились, что метки очередей в нашей задаче являются уникальными в масштабах всего предприятия независимо от того, на каком компьютере они созданы) и посылает в нее сообщение с меткой strMsgLbl и телом varBodyText. Очередь ответа является необязательным параметром и по умолчанию отсутствует. Другим необязательным параметром служит специфичная для приложения информация, которой может быть любая переменная типа Long.
Sub SendMQMsg(strQueLbl As String, strMsgLbl As String, _
varBodyText As Variant, Optional strRespQueLbl As String = “”, Optional lngAppSpec As Long)
Dim q As MSMQQueue
Используем определенную нами выше функцию FindQueOnLabel для получения MSMQQueueInfo очереди по ее метке и открываем очередь для отправки (MQ_SEND_ACCESS).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий