MessageEncoder.ReadMessage 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,從指定的資料流讀取訊息。
多載
ReadMessage(Stream, Int32, String) |
在衍生類別中覆寫時,從指定的資料流讀取訊息。 |
ReadMessage(ArraySegment<Byte>, BufferManager, String) |
在衍生類別中覆寫時,從指定的資料流讀取訊息。 |
ReadMessage(Stream, Int32) |
在衍生類別中覆寫時,從指定的資料流讀取訊息。 |
ReadMessage(ArraySegment<Byte>, BufferManager) |
在衍生類別中覆寫時,從指定的緩衝區讀取訊息。 |
ReadMessage(Stream, Int32, String)
在衍生類別中覆寫時,從指定的資料流讀取訊息。
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
參數
- 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)
在衍生類別中覆寫時,從指定的資料流讀取訊息。
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)
在衍生類別中覆寫時,從指定的資料流讀取訊息。
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
參數
- maxSizeOfHeaders
- Int32
可從訊息讀取的標頭大小上限。
傳回
從指定之資料流讀取的 Message。
適用於
ReadMessage(ArraySegment<Byte>, BufferManager)
在衍生類別中覆寫時,從指定的緩衝區讀取訊息。
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。