Bagikan melalui


MessageEncoderFactory Kelas

Definisi

Kelas dasar abstrak yang mewakili pabrik untuk memproduksi encoder pesan yang dapat membaca pesan dari aliran dan menulisnya ke aliran untuk berbagai jenis pengodean pesan.

public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
Warisan
MessageEncoderFactory

Contoh

Kode berikut menunjukkan cara menulis kelas yang berasal dari 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;
        }
    }
}

Keterangan

Pengodean adalah proses mengubah pesan menjadi urutan byte. Decoding adalah proses terbalik.

Gunakan kelas ini jika Anda ingin menerapkan encoder pesan kustom. Untuk menerapkan encoder pesan kustom Anda sendiri, Anda harus menyediakan implementasi kustom dari tiga kelas dasar abstrak berikut:

Ambil alih Encoder untuk mengembalikan instance kustom MessageEncoder Anda. Kemudian kawat kustom MessageEncoderFactory Anda ke tumpukan elemen pengikatan yang digunakan untuk mengonfigurasi layanan atau klien dengan mengambil alih CreateMessageEncoderFactory metode untuk mengembalikan instans pabrik ini. Untuk informasi selengkapnya tentang encoder kustom, lihat Transfer Data dan Serialisasi.

Konstruktor

Nama Deskripsi
MessageEncoderFactory()

Menginisialisasi instans baru dari kelas MessageEncoderFactory.

Properti

Nama Deskripsi
Encoder

Ketika ditimpa di kelas turunan, mendapatkan encoder pesan yang diproduksi oleh pabrik.

MessageVersion

Ketika ditimpa di kelas turunan, mendapatkan versi pesan yang digunakan oleh encoder yang diproduksi oleh pabrik untuk mengodekan pesan.

Metode

Nama Deskripsi
CreateSessionEncoder()

Mengembalikan encoder pesan yang dapat digunakan untuk menghubungkan pesan dalam pertukaran berbasis sesi.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk