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 ze streamu 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 poskytnout vlastní implementace následujících tří abstraktních základních tříd:
Encoder Přepište, aby se vrátila instance vlastního MessageEncoderobjektu . Pak zřetěďte 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 dat a serializace.
Konstruktory
MessageEncoderFactory() |
Inicializuje novou instanci MessageEncoderFactory třídy. |
Vlastnosti
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
CreateSessionEncoder() |
Vrátí kodér zpráv, který lze použít ke korelaci zpráv ve výměnách založených na relacích. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |