ReadMessage Method (ArraySegment(Byte), BufferManager, String)

MessageEncoder.ReadMessage Method (ArraySegment<Byte>, BufferManager, String)

 

When overridden in a derived class, reads a message from a specified stream.

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

public abstract Message ReadMessage(
	ArraySegment<byte> buffer,
	BufferManager bufferManager,
	string contentType
)

Parameters

buffer
Type: System.ArraySegment<Byte>

A ArraySegment<T> of type Byte that provides the buffer from which the message is deserialized.

bufferManager
Type: System.ServiceModel.Channels.BufferManager

The BufferManager that manages the buffer from which the message is deserialized.

contentType
Type: System.String

The Multipurpose Internet Mail Extensions (MIME) message-level content-type.

Return Value

Type: System.ServiceModel.Channels.Message

The Message that is read from the stream specified.

The following code example shows how to implement the ReadMessage(ArraySegment<Byte>, BufferManager, String) method.

public override Message ReadMessage(ArraySegment<byte> buffer, BufferManager bufferManager, string contentType)
{   
    byte[] msgContents = new byte[buffer.Count];
    Array.Copy(buffer.Array, buffer.Offset, msgContents, 0, msgContents.Length);
    bufferManager.ReturnBuffer(buffer.Array);

    MemoryStream stream = new MemoryStream(msgContents);
    return ReadMessage(stream, int.MaxValue);
}

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show:
© 2016 Microsoft