Практическое руководство. Отправка сложных сообщений
Обновлен: Ноябрь 2007
В дополнение к отправке простого сообщения путем указания сообщения в качестве аргумента метода Send, можно получить больший контроль над сообщениями, явно создав объект Message, вместо того чтобы позволить общему методу Send создавать и посылать их. Изменяя свойства итогового объекта Message, можно создавать более сложные сообщения и лучше контролировать обработку сообщений.
При отправке сложного сообщения сначала необходимо установить соединение с нужной очередью, а затем указать данные для отправки. Однако процесс определения данных для отправки подразумевает, что перед отправкой сообщения будет создан экземпляр класса Message, заданы нужные свойства и настроены механизмы доставки. Как и в случае с простыми сообщениями, система сохраняет объект сообщения и отправляет его в указанную очередь.
Примечание. |
---|
При помощи объекта Message сообщение можно отправить как часть транзакции. Дополнительные сведения см. в разделе Транзакционная обработка сообщений. |
Отправка сложного сообщения с помощью класса Message
Создайте экземпляр компонента MessageQueue и задайте в качестве значения свойства Path очередь, на которую необходимо сослаться. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента MessageQueue.
Примечание. Если компонент создан в обозревателе серверов, свойство Path автоматически настраивается на нужную очередь.
Создайте экземпляр объекта Message.
Введите текст сообщения и задайте любые свойства, для которых необходимо изменить значения по умолчанию.
Используйте метод Send для отправки объекта в очередь.
По завершении код будет выглядеть примерно следующим образом:
Dim MessageQueue1 As New System.Messaging.MessageQueue(".\YourQueue") Dim newMessage As New System.Messaging.Message("Hello again") newMessage.Label = "This is the label." MessageQueue1.Send(newMessage)
System.Messaging.MessageQueue myMQ1 = new System.Messaging.MessageQueue(@".\YourQueue"); System.Messaging.Message newMessage = new System.Messaging.Message("Hello again"); newMessage.Label = "This is the label"; myMQ1.Send(newMessage);
См. также
Задачи
Практическое руководство. Создание экземпляров компонента MessageQueue
Практическое руководство. Отправка простых сообщений
Практическое руководство. Проверка сообщений во время разработки
Основные понятия
Транзакционная обработка сообщений