Поделиться через


MessageEncoder.ReadMessage Метод

Определение

При переопределении в производном классе считывает из заданного потока сообщение.

Перегрузки

ReadMessage(Stream, Int32, String)

При переопределении в производном классе считывает из заданного потока сообщение.

ReadMessage(ArraySegment<Byte>, BufferManager, String)

При переопределении в производном классе считывает из заданного потока сообщение.

ReadMessage(Stream, Int32)

При переопределении в производном классе считывает из заданного потока сообщение.

ReadMessage(ArraySegment<Byte>, BufferManager)

При переопределении в производном классе считывает из заданного буфера сообщение.

ReadMessage(Stream, Int32, String)

Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs

При переопределении в производном классе считывает из заданного потока сообщение.

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

Параметры

stream
Stream

Объект Stream, из которого считывается сообщение.

maxSizeOfHeaders
Int32

Максимальный размер заголовков, который может быть прочитан из сообщения.

contentType
String

Тип содержимого уровня сообщений MIME.

Возвращаемое значение

Объект Message, читаемый из заданного потока.

Примеры

В следующем примере кода демонстрируется реализация метода ReadMessage(Stream, Int32, String).

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

Применяется к

ReadMessage(ArraySegment<Byte>, BufferManager, String)

Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs

При переопределении в производном классе считывает из заданного потока сообщение.

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

Параметры

buffer
ArraySegment<Byte>

Объект ArraySegment<T> типа Byte, предоставляющий буфер, из которого требуется десериализовать сообщение.

bufferManager
BufferManager

Объект BufferManager, управляющий буфером, из которого требуется десериализовать сообщение.

contentType
String

Тип содержимого уровня сообщений MIME.

Возвращаемое значение

Объект Message, читаемый из заданного потока.

Примеры

В следующем примере кода демонстрируется реализация метода ReadMessage(ArraySegment<Byte>, BufferManager, String).

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

Применяется к

ReadMessage(Stream, Int32)

Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs

При переопределении в производном классе считывает из заданного потока сообщение.

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

Параметры

stream
Stream

Объект Stream, из которого считывается сообщение.

maxSizeOfHeaders
Int32

Максимальный размер заголовков, который может быть прочитан из сообщения.

Возвращаемое значение

Объект Message, читаемый из заданного потока.

Применяется к

ReadMessage(ArraySegment<Byte>, BufferManager)

Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs
Исходный код:
MessageEncoder.cs

При переопределении в производном классе считывает из заданного буфера сообщение.

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

Параметры

buffer
ArraySegment<Byte>

Объект ArraySegment<T> типа Byte, предоставляющий буфер, из которого требуется десериализовать сообщение.

bufferManager
BufferManager

Объект BufferManager, управляющий буфером, из которого требуется десериализовать сообщение.

Возвращаемое значение

Объект Message, читаемый из заданного буфера.

Применяется к