MessageEncoderFactory 類別

定義

表示用來產生訊息編碼器之處理站的抽象基底類別,該編碼器可從資料流讀取訊息,並將訊息寫入各種訊息編碼類型的資料流中。

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)

適用於