MessageEncoder.ReadMessage Método

Definição

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

Sobrecargas

Nome Description
ReadMessage(ArraySegment<Byte>, BufferManager)

Quando substituído em uma classe derivada, lê uma mensagem de um buffer especificado.

ReadMessage(Stream, Int32)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

ReadMessage(ArraySegment<Byte>, BufferManager, String)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

ReadMessage(Stream, Int32, String)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

ReadMessage(ArraySegment<Byte>, BufferManager)

Quando substituído em uma classe derivada, lê uma mensagem de um buffer especificado.

public:
 System::ServiceModel::Channels::Message ^ ReadMessage(ArraySegment<System::Byte> buffer, System::ServiceModel::Channels::BufferManager ^ bufferManager);
public System.ServiceModel.Channels.Message ReadMessage(ArraySegment<byte> buffer, System.ServiceModel.Channels.BufferManager bufferManager);
member this.ReadMessage : ArraySegment<byte> * System.ServiceModel.Channels.BufferManager -> System.ServiceModel.Channels.Message
Public Function ReadMessage (buffer As ArraySegment(Of Byte), bufferManager As BufferManager) As Message

Parâmetros

buffer
ArraySegment<Byte>

Um ArraySegment<T> tipo Byte que fornece o buffer do qual a mensagem é desserializada.

bufferManager
BufferManager

O BufferManager que gerencia o buffer do qual a mensagem é desserializada.

Retornos

O Message que é lido do buffer especificado.

Aplica-se a

ReadMessage(Stream, Int32)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

public:
 System::ServiceModel::Channels::Message ^ ReadMessage(System::IO::Stream ^ stream, int maxSizeOfHeaders);
public System.ServiceModel.Channels.Message ReadMessage(System.IO.Stream stream, int maxSizeOfHeaders);
member this.ReadMessage : System.IO.Stream * int -> System.ServiceModel.Channels.Message
Public Function ReadMessage (stream As Stream, maxSizeOfHeaders As Integer) As Message

Parâmetros

stream
Stream

O Stream objeto do qual a mensagem é lida.

maxSizeOfHeaders
Int32

O tamanho máximo dos cabeçalhos que podem ser lidos da mensagem.

Retornos

O Message que é lido do fluxo especificado.

Aplica-se a

ReadMessage(ArraySegment<Byte>, BufferManager, String)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

public:
 abstract System::ServiceModel::Channels::Message ^ ReadMessage(ArraySegment<System::Byte> buffer, System::ServiceModel::Channels::BufferManager ^ bufferManager, System::String ^ contentType);
public abstract System.ServiceModel.Channels.Message ReadMessage(ArraySegment<byte> buffer, System.ServiceModel.Channels.BufferManager bufferManager, string contentType);
abstract member ReadMessage : ArraySegment<byte> * System.ServiceModel.Channels.BufferManager * string -> System.ServiceModel.Channels.Message
Public MustOverride Function ReadMessage (buffer As ArraySegment(Of Byte), bufferManager As BufferManager, contentType As String) As Message

Parâmetros

buffer
ArraySegment<Byte>

Um ArraySegment<T> tipo Byte que fornece o buffer do qual a mensagem é desserializada.

bufferManager
BufferManager

O BufferManager que gerencia o buffer do qual a mensagem é desserializada.

contentType
String

O tipo de conteúdo em nível de mensagem MIME (Extensão de Email da Internet) multiuso.

Retornos

O Message que é lido do fluxo especificado.

Exemplos

O exemplo de código a seguir mostra como implementar o ReadMessage(ArraySegment<Byte>, BufferManager, String) método.

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);
}

Aplica-se a

ReadMessage(Stream, Int32, String)

Quando substituído em uma classe derivada, lê uma mensagem de um fluxo especificado.

public:
 abstract System::ServiceModel::Channels::Message ^ ReadMessage(System::IO::Stream ^ stream, int maxSizeOfHeaders, System::String ^ contentType);
public abstract System.ServiceModel.Channels.Message ReadMessage(System.IO.Stream stream, int maxSizeOfHeaders, string contentType);
abstract member ReadMessage : System.IO.Stream * int * string -> System.ServiceModel.Channels.Message
Public MustOverride Function ReadMessage (stream As Stream, maxSizeOfHeaders As Integer, contentType As String) As Message

Parâmetros

stream
Stream

O Stream objeto do qual a mensagem é lida.

maxSizeOfHeaders
Int32

O tamanho máximo dos cabeçalhos que podem ser lidos da mensagem.

contentType
String

O tipo de conteúdo em nível de mensagem MIME (Extensão de Email da Internet) multiuso.

Retornos

O Message que é lido do fluxo especificado.

Exemplos

O exemplo de código a seguir mostra como implementar o ReadMessage(Stream, Int32, String) método.

public override Message ReadMessage(Stream stream, int maxSizeOfHeaders, string contentType)
{
    XmlReader reader = XmlReader.Create(stream);
    return Message.CreateMessage(reader, maxSizeOfHeaders, this.MessageVersion);
}

Aplica-se a