Message.BodyStream Property

Definition

Gets or sets the information in the body of the message.

public:
 property System::IO::Stream ^ BodyStream { System::IO::Stream ^ get(); void set(System::IO::Stream ^ value); };
[System.Messaging.MessagingDescription("MsgBodyStream")]
public System.IO.Stream BodyStream { get; set; }
[<System.Messaging.MessagingDescription("MsgBodyStream")>]
member this.BodyStream : System.IO.Stream with get, set
Public Property BodyStream As Stream

Property Value

A Stream that contains the serialized information included in the Body of the message.

Attributes

Exceptions

The message queue is filtered to ignore the Body property.

Remarks

The body of a message can consist of any type of information - for example, a string, a date, a currency, a number, an array of bytes, or any managed object. This information is serialized into a Stream to be passed to the queue.

Specify either the Body property or the BodyStream property before sending the Message object. If you set the Body property, the contents are serialized into the BodyStream property. However, you can choose to write the BodyStream property directly. This is useful, for example, when you want to open a connection to a file and stream its contents as the body of your message.

Unless you write the contents of the message directly to the BodyStream property, set the Formatter property before you send the message. When the Send method is called on the MessageQueue instance, the body is serialized using the formatter contained in the Formatter property. If you send the message without specifying a value for the Formatter property, the formatter defaults to XmlMessageFormatter.

If you set the UseEncryption property to true for the body of this message, the message will be encrypted when it is sent, not when you set the Body property. Therefore, the BodyStream property is never encrypted.

Applies to

See also