MessageEncoderFactory 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
다양한 메시지 인코딩 형식의 스트림에서 메시지를 읽고 쓸 수 있는 메시지 인코더를 생성하기 위한 팩터리를 나타내는 추상 기본 클래스입니다.
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) |