Message Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Represents the unit of communication between endpoints in a distributed environment.

Inheritance Hierarchy

System.Object
  System.ServiceModel.Channels.Message

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

Syntax

'Declaration
Public MustInherit Class Message _
    Implements IDisposable
public abstract class Message : IDisposable

The Message type exposes the following members.

Constructors

  Name Description
Protected methodSupported by Silverlight for Windows Phone Message Initializes a new instance of the Message class.

Top

Properties

  Name Description
Public propertySupported by Silverlight for Windows Phone Headers When overridden in a derived class, gets the headers of the message.
Protected propertySupported by Silverlight for Windows Phone IsDisposed Returns a value that indicates whether the Message is disposed.
Public propertySupported by Silverlight for Windows Phone IsEmpty Returns a value that indicates whether the Message is empty.
Public propertySupported by Silverlight for Windows Phone IsFault Gets a value that indicates whether this message generates any SOAP faults.
Public propertySupported by Silverlight for Windows Phone Properties When overridden in a derived class, gets a set of processing-level annotations to the message.
Public propertySupported by Silverlight for Windows Phone State Gets the current state of this Message.
Public propertySupported by Silverlight for Windows Phone Version When overridden in a derived class, gets the SOAP and WS-Addressing versions of the message.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows Phone Close Closes the Message and releases any resources.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String) Creates a message that contains a version and an action.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String, Object) Creates a message with the specified version, action and body.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String, BodyWriter) Creates a message with a body that consists of an array of bytes.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String, XmlDictionaryReader) Creates a message with the specified version, action and body.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String, XmlReader) Creates a message using the specified reader, action and version.
Public methodStatic member CreateMessage(XmlDictionaryReader, Int32, MessageVersion) Creates a message using a specified dictionary reader, size allocation for the message headers, and version.
Public methodStatic member CreateMessage(XmlReader, Int32, MessageVersion) Creates a message using a specified XML reader, size allocation for the message headers, and version.
Public methodStatic memberSupported by Silverlight for Windows Phone CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) Creates a message using the specified version, action, message body and serializer.
Public methodSupported by Silverlight for Windows Phone Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetBody<T>() Retrieves the body of this Message instance.
Public methodSupported by Silverlight for Windows Phone GetBody<T>(XmlObjectSerializer) Retrieves the body of this Message using the specified serializer.
Public methodSupported by Silverlight for Windows Phone GetBodyAttribute Retrieves the attributes of the message body.
Public methodSupported by Silverlight for Windows Phone GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetReaderAtBodyContents Gets the XML dictionary reader that accesses the body content of this message.
Public methodSupported by Silverlight for Windows Phone GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone OnBodyToString Called when the message body is converted to a string.
Protected methodSupported by Silverlight for Windows Phone OnClose Called when the message is closing.
Protected method OnCreateBufferedCopy Called when a message buffer is created to store this message.
Protected methodSupported by Silverlight for Windows Phone OnGetBodyAttribute Called when the attributes of the message body is retrieved.
Protected methodSupported by Silverlight for Windows Phone OnGetReaderAtBodyContents Called when an XML dictionary reader that can access the body content of this message can be retrieved.
Protected methodSupported by Silverlight for Windows Phone OnWriteBodyContents Called when the message body is written to an XML file.
Protected methodSupported by Silverlight for Windows Phone OnWriteMessage Called when the entire message is written to an XML file.
Protected methodSupported by Silverlight for Windows Phone OnWriteStartBody Called when the start body is written to an XML file.
Protected methodSupported by Silverlight for Windows Phone OnWriteStartEnvelope Called when the start envelope is written to an XML file.
Protected methodSupported by Silverlight for Windows Phone OnWriteStartHeaders Called when the start header is written to an XML file.
Public methodSupported by Silverlight for Windows Phone ToString Returns a string that represents the current Message. (Overrides Object.ToString().)
Public methodSupported by Silverlight for Windows Phone WriteBody(XmlDictionaryWriter) Writes the body element using the specified XmlDictionaryWriter.
Public methodSupported by Silverlight for Windows Phone WriteBody(XmlWriter) Serializes the message body using the specified XmlWriter.
Public methodSupported by Silverlight for Windows Phone WriteBodyContents Serializes the body content using the specified XmlDictionaryWriter.
Public methodSupported by Silverlight for Windows Phone WriteMessage(XmlDictionaryWriter) Serializes the entire message using the specified XmlDictionaryWriter.
Public methodSupported by Silverlight for Windows Phone WriteMessage(XmlWriter) Serializes the entire message using the specified XmlWriter.
Public methodSupported by Silverlight for Windows Phone WriteStartBody(XmlDictionaryWriter) Serializes the start body using the specified XmlDictionaryWriter.
Public methodSupported by Silverlight for Windows Phone WriteStartBody(XmlWriter) Serializes the start body using the specified XmlDictionaryWriter.
Public methodSupported by Silverlight for Windows Phone WriteStartEnvelope Serializes the start envelope using the specified XmlDictionaryWriter.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate methodSupported by Silverlight for Windows Phone IDisposable.Dispose Closes all the resources used by this message. This method cannot be inherited.

Top

Remarks

The Message class provides a means of communicating arbitrary information between a sender and a receiver on a network. It can be used to relay information, suggest or demand a course of action, or request data.

The structure of a Message object represents a SOAP envelope. It consists of two distinct parts: the message's body and an optional collection of headers, represented by the Headers class. The message content is application-defined data sent from a sender to a receiver. The message headers enable system and application extensibility to meet the changing requirements, because you can define code to manipulate and respond to specific headers. You can also define your own headers. Message headers are serialized or deserialized along with the contents of the message.

Messages are received and sent in particular formats. Support is provided for one format: the standard text-based XML format. The Message object can be used to represent the SOAP 1.1 envelope. Note that an instance of Message is fixed upon creation and is bound to a specific SOAP version. The Version property represents the SOAP version of the message.

A Message object can be serialized to an external store by using the WriteMessage method. Properties of the message can also be serialized, but they have to be individually identified and serialized separately. Deserializing a message to create an in-memory Message object can be done using CreateMessage. Properties must also be deserialized individually and manually added to the property collection for the specific Message instance.

The size of a Message object is fixed to the size of data it is transmitting. Every body is modeled as an instance of XmlReader, with no predefined limit on the size of the stream that the XmlReader instance is wrapping. However, specific channel providers can have a limit on the size of messages that they process.

A Message can be annotated with useful information generated by an entity that has examined and processed the message. This functionality is provided by the Headers and Properties properties. The Headers collection represents the set of SOAP headers on the message.

The Properties property represents the set of processing-level annotations on the message. Because information in headers is transmitted on the wire, an entity that examines a header must support the underlying version(s) of the protocols used by the header. However, properties provide a more version-independent way of annotating a message.

To create a Message instance, use one of the CreateMessage methods.

It is recommended that an accessor of a message always call Close when the accessor is finished accessing the contents of the message. This action frees finite system resources (for example, sockets, and named pipes) that are tied to the lifetime of the message.

Notes to Inheritors

When you inherit from Message, you must override the following members: Headers, and Version.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.