MessageEncoderFactory Klass

Definition

En abstrakt basklass som representerar fabriken för att producera meddelandekodare som kan läsa meddelanden från en ström och skriva dem till en ström för olika typer av meddelandekodning.

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

Exempel

Följande kod visar hur du skriver en klass som härleds från 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;
        }
    }
}

Kommentarer

Kodning är processen att omvandla ett meddelande till en sekvens med byte. Avkodning är den omvända processen.

Använd den här klassen om du vill implementera en anpassad meddelandekodare. Om du vill implementera en egen anpassad meddelandekodare måste du tillhandahålla anpassade implementeringar av följande tre abstrakta basklasser:

Åsidosätt Encoder för att returnera en instans av ditt anpassade MessageEncoder. Anslut sedan din anpassade MessageEncoderFactory till bindningselementstacken som används för att konfigurera tjänsten eller klienten genom att åsidosätta CreateMessageEncoderFactory metoden för att returnera en instans av den här fabriken. Mer information om anpassade kodare finns i Dataöverföring och serialisering.

Konstruktorer

Name Description
MessageEncoderFactory()

Initierar en ny instans av MessageEncoderFactory klassen.

Egenskaper

Name Description
Encoder

När den åsidosätts i en härledd klass hämtar den meddelandekodare som skapas av fabriken.

MessageVersion

När den åsidosätts i en härledd klass hämtar den meddelandeversion som används av kodarna som produceras av fabriken för att koda meddelanden.

Metoder

Name Description
CreateSessionEncoder()

Returnerar en meddelandekodare som kan användas för att korrelera meddelanden i sessionsbaserade utbyten.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för