MessageEncoderFactory Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe base astratta che rappresenta la factory per produrre codificatori di messaggi che possono leggere messaggi da un flusso e scriverli in un flusso per vari tipi di codifica messaggi.
public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
- Ereditarietà
-
MessageEncoderFactory
Esempio
Nel codice seguente viene illustrato come scrivere una classe derivata da 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;
}
}
}
Commenti
La codifica è il processo di trasformazione di un messaggio in una sequenza di byte. La decodifica è il processo inverso.
Utilizzare questa classe se si desidera implementare un codificatore di messaggi personalizzato. Per implementare un codificatore di messaggi personalizzato, è necessario fornire implementazioni personalizzate delle tre classi base astratte seguenti:
Eseguire l'override di Encoder per restituire un'istanza del codificatore MessageEncoder personalizzato. Associare quindi il MessageEncoderFactory personalizzato allo stack dell'elemento di associazione utilizzato per configurare il servizio o il client eseguendo l'override del metodo CreateMessageEncoderFactory per restituire un'istanza di questa factory. Per altre informazioni sui codificatori personalizzati, vedere Trasferimento dei dati e serializzazione.
Costruttori
MessageEncoderFactory() |
Inizializza una nuova istanza della classe MessageEncoderFactory. |
Proprietà
Encoder |
Quando sottoposto a override in una classe derivata, ottiene il codificatore di messaggi prodotto dalla factory. |
MessageVersion |
Quando sottoposto a override in una classe derivata, ottiene la versione del messaggio utilizzata dai codificatori prodotti dalla factory per codificare i messaggi. |
Metodi
CreateSessionEncoder() |
Restituisce un codificatore di messaggi che può essere utilizzato per correlare i messaggi negli scambi basati sulla sessione. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |