Share via


MessageEncoder.ReadMessage 方法

定义

在派生类中重写时,从指定的流中读取一条消息。

重载

ReadMessage(Stream, Int32, String)

在派生类中重写时,从指定的流中读取一条消息。

ReadMessage(ArraySegment<Byte>, BufferManager, String)

在派生类中重写时,从指定的流中读取一条消息。

ReadMessage(Stream, Int32)

在派生类中重写时,从指定的流中读取一条消息。

ReadMessage(ArraySegment<Byte>, BufferManager)

在派生类中重写时,从指定的缓冲区中读取一条消息。

ReadMessage(Stream, Int32, String)

Source:
MessageEncoder.cs
Source:
MessageEncoder.cs
Source:
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

多用途 Internet 邮件扩展 (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)

Source:
MessageEncoder.cs
Source:
MessageEncoder.cs
Source:
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

多用途 Internet 邮件扩展 (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)

Source:
MessageEncoder.cs
Source:
MessageEncoder.cs
Source:
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)

Source:
MessageEncoder.cs
Source:
MessageEncoder.cs
Source:
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

适用于