MessageEncoderFactory Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Abstraktní základní třída, která představuje továrnu pro vytváření kodérů zpráv, které mohou číst zprávy z datového proudu a zapisovat je do datového proudu pro různé typy kódování zpráv.
public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
- Dědičnost
-
MessageEncoderFactory
Příklady
Následující kód ukazuje, jak napsat třídu, která je odvozena z 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;
}
}
}
Poznámky
Kódování je proces transformace zprávy na posloupnost bajtů. Dekódování je reverzní proces.
Tuto třídu použijte, pokud chcete implementovat vlastní kodér zpráv. Pokud chcete implementovat vlastní kodér zpráv, musíte zadat vlastní implementace následujících tří abstraktních základních tříd:
Přepište Encoder, aby se vrátila instance vašeho vlastního objektu MessageEncoder. Potom zkonfigurujte vlastní MessageEncoderFactory sadu elementů vazby, která se používá ke konfiguraci služby nebo klienta přepsáním CreateMessageEncoderFactory metody pro vrácení instance této továrny. Další informace o vlastních kodérech naleznete v tématu Přenos a serializace dat.
Konstruktory
| Name | Description |
|---|---|
| MessageEncoderFactory() |
Inicializuje novou instanci MessageEncoderFactory třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Encoder |
Při přepsání v odvozené třídě získá kodér zpráv, který je vytvořen továrnou. |
| MessageVersion |
Při přepsání v odvozené třídě získá verzi zprávy, která se používá kodéry vytvořené továrnou ke kódování zpráv. |
Metody
| Name | Description |
|---|---|
| CreateSessionEncoder() |
Vrátí kodér zpráv, který lze použít ke korelaci zpráv v výměnách založených na relacích. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |