다음을 통해 공유


MessageEncoderFactory 클래스

정의

다양한 메시지 인코딩 형식의 스트림에서 메시지를 읽고 쓸 수 있는 메시지 인코더를 생성하기 위한 팩터리를 나타내는 추상 기본 클래스입니다.

public ref class MessageEncoderFactory abstract
public abstract class MessageEncoderFactory
type MessageEncoderFactory = class
Public MustInherit Class MessageEncoderFactory
상속
MessageEncoderFactory

예제

다음 코드는 파생된 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;
        }
    }
}

설명

인코딩은 메시지를 바이트 시퀀스로 변형하는 프로세스입니다. 디코딩은 역프로세스입니다.

사용자 지정 메시지 인코더를 구현하려는 경우 이 클래스를 사용합니다. 사용자 고유의 사용자 지정 메시지 인코더를 구현하려면 다음 세 가지 추상 기본 클래스의 사용자 지정 구현을 제공해야 합니다.

사용자 지정 인스턴스를 Encoder 반환하도록 재정의합니다 MessageEncoder. 그런 다음, 이 팩터리의 인스턴스를 반환하도록 메서드를 재정의하여 서비스 또는 클라이언트를 CreateMessageEncoderFactory 구성하는 데 사용되는 바인딩 요소 스택에 사용자 지정 MessageEncoderFactory 을 연결합니다. 사용자 지정 인코더에 대한 자세한 내용은 데이터 전송 및 직렬화를 참조하세요.

생성자

MessageEncoderFactory()

MessageEncoderFactory 클래스의 새 인스턴스를 초기화합니다.

속성

Encoder

파생 클래스에서 재정의되는 경우 팩터리에서 생성되는 메시지 인코더를 가져옵니다.

MessageVersion

파생 클래스에서 재정의되는 경우 팩터리에서 메시지를 인코딩하기 위해 생성한 인코더에 사용되는 메시지 버전을 가져옵니다.

메서드

CreateSessionEncoder()

세션 기반 교환에서 메시지를 연결하는 데 사용할 수 있는 메시지 인코더를 반환합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상