MessageEncoderFactory Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Une classe de base abstraite qui représente la fabrique pour générer des encodeurs de message qui peuvent lire les messages d'un flux de données et les écrire dans un flux de données pour différents types d'encodage de message.
public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
- Héritage
-
MessageEncoderFactory
Exemples
Le code suivant montre comment écrire une classe qui est dérivée de 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;
}
}
}
Remarques
L'encodage est le processus de transformation d'un message en une séquence d'octets. Le décodage est le processus inverse.
Utilisez cette classe si vous souhaitez implémenter un encodeur de message personnalisé. Pour implémenter votre propre encodeur de message personnalisé, vous devez fournir des implémentations personnalisées des trois classes de base abstraites suivantes :
Substituez Encoder pour retourner une instance de votre MessageEncoder personnalisé. Puis rattachez votre MessageEncoderFactory personnalisé à la pile d’élément de liaison utilisée pour configurer le service ou le client en substituant la méthode CreateMessageEncoderFactory pour retourner une instance de cette fabrique. Pour plus d’informations sur les encodeurs personnalisés, consultez Transfert de données et Sérialisation.
Constructeurs
MessageEncoderFactory() |
Initialise une nouvelle instance de la classe MessageEncoderFactory. |
Propriétés
Encoder |
En cas de substitution dans une classe dérivée, obtient l'encodeur de message produit par la fabrique. |
MessageVersion |
En cas de substitution dans une classe dérivée, obtient la version du message utilisée par les encodeurs générés par la fabrique pour encoder les messages. |
Méthodes
CreateSessionEncoder() |
Retourne un encodeur de message qui peut être utilisé pour corréler des messages dans les échanges basés sur une session. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |