MessageEncoderFactory Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |