如何:发送复杂消息

更新:2007 年 11 月

除了通过在 Send 方法的参数中指定消息来发送简单消息,还可以通过显式创建 Message 对象(而不是让 Send 共享方法为您创建和发送该对象)来获得对消息的更多控制。通过操作所得的 Message 对象的属性,可以创建更复杂的消息并对如何处理消息施加更多的控制。

发送复杂消息时,必须首先创建要与之通信的队列连接,然后指定要发送的数据。但是,作为指定要发送数据操作的一部分,需要在发送消息前创建 Message 类的实例,设置所需的属性并微调传递机制。与简单消息一样,系统保持消息对象并将其发送到指定的队列。

说明:

使用 Message 对象,可以将消息作为事务的一部分进行发送。有关更多信息,请参见事务性消息处理

使用 Message 类发送复杂消息

  1. 创建 MessageQueue 组件的一个实例,并将其 Path 属性设置为要引用的队列。有关更多信息,请参见如何:创建 MessageQueue 组件实例

    说明:

    如果通过“服务器资源管理器”创建组件,Path 属性将自动设置为该队列的队列路径。

  2. 创建 Message 对象的实例。

  3. 设置消息正文并指定要更改其默认值的任何属性。

  4. 使用 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 组件实例

如何:发送简单消息

如何:在设计时验证消息

概念

事务性消息处理

其他资源

发送和序列化消息