MessageEncoderFactory Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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) |