MessageEncoderFactory 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示用來產生訊息編碼器之處理站的抽象基底類別,該編碼器可從資料流讀取訊息,並將訊息寫入各種訊息編碼類型的資料流中。
public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
- 繼承
-
MessageEncoderFactory
範例
下列程式碼會示範如何撰寫衍生自 MessageEncoderFactory 的類別。
public override bool IsContentTypeSupported(string contentType)
{
if (base.IsContentTypeSupported(contentType))
{
return true;
}
if (contentType.Length == this.MediaType.Length)
{
return contentType.Equals(this.MediaType, StringComparison.OrdinalIgnoreCase);
}
else
{
if (contentType.StartsWith(this.MediaType, StringComparison.OrdinalIgnoreCase)
&& (contentType[this.MediaType.Length] == ';'))
{
return true;
}
}
return false;
}
public class CustomTextMessageEncoderFactory : MessageEncoderFactory
{
private MessageEncoder encoder;
private MessageVersion version;
private string mediaType;
private string charSet;
internal CustomTextMessageEncoderFactory(string mediaType, string charSet,
MessageVersion version)
{
this.version = version;
this.mediaType = mediaType;
this.charSet = charSet;
this.encoder = new CustomTextMessageEncoder(this);
}
public override MessageEncoder Encoder
{
get
{
return this.encoder;
}
}
public override MessageVersion MessageVersion
{
get
{
return this.version;
}
}
internal string MediaType
{
get
{
return this.mediaType;
}
}
internal string CharSet
{
get
{
return this.charSet;
}
}
}
備註
編碼是將訊息轉換成位元組序列的處理序, 解碼則是相反的處理序。
如果您想要實作自訂訊息編碼器,請使用這個類別。 若要實作您自己的自訂訊息編碼器,您必須提供下列三個抽象基底類別的自訂實作:
覆寫 Encoder,以傳回自訂 MessageEncoder 的執行個體。 然後讓自訂 MessageEncoderFactory 連接用來設定服務或用戶端的繫結項目堆疊,其方式是覆寫 CreateMessageEncoderFactory 方法來傳回此處理站的執行個體。 如需自訂編碼器的詳細資訊,請參閱 資料傳輸和序列化。
建構函式
MessageEncoderFactory() |
初始化 MessageEncoderFactory 類別的新執行個體。 |
屬性
Encoder |
在衍生類別中覆寫時,會取得此處理站產生的訊息編碼器。 |
MessageVersion |
在衍生類別中覆寫時,會取得此處理站所產生之編碼器所用的訊息版本,以編碼訊息。 |
方法
CreateSessionEncoder() |
傳回訊息編碼器,它可用來讓工作階段型交換中的訊息相互關聯。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |