Compartir a través de


MessageEncoderFactory Clase

Definición

Una clase base abstracta que representa el generador para generar codificadores del mensaje que pueden leer los mensajes de una secuencia y escribirlos en una secuencia para varios tipos de codificación del mensaje.

public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
Herencia
MessageEncoderFactory

Ejemplos

El ejemplo de código siguiente muestra cómo escribir una clase derivada 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;
        }
    }
}

Comentarios

La codificación es el proceso de transformación de un mensaje en una secuencia de bytes. La descodificación es el proceso inverso.

Utilice esta clase si desea implementar un codificador del mensaje personalizado. Para implementar su propio codificador de mensajes personalizado, debe proporcionar implementaciones personalizadas de las tres clases base abstractas siguientes:

Invalide Encoder para devolver una instancia de su MessageEncoder personalizado. A continuación, conecte su MessageEncoderFactory personalizado a la pila del elemento de enlace que se usa para configurar el servicio o el cliente invalidando el método CreateMessageEncoderFactory para devolver una instancia de este generador. Para obtener más información sobre los codificadores personalizados, consulte Transferencia de datos y serialización.

Constructores

MessageEncoderFactory()

Inicializa una nueva instancia de la clase MessageEncoderFactory.

Propiedades

Encoder

Cuando se invalida en una clase derivada, obtiene el codificador de mensajes generado por el generador.

MessageVersion

Cuando se invalida en una clase derivada, obtiene la versión de mensaje que utilizan los codificadores generados por el generador para codificar los mensajes.

Métodos

CreateSessionEncoder()

Devuelve un codificador de mensajes que se puede utilizar para poner en correlación los mensajes en intercambios basados en sesión.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a