BinaryMessageEncodingBindingElement 클래스

정의

메시지를 인코딩하는 데 사용되는 XML의 .NET 이진 형식을 지정하는 바인딩 요소입니다.

public ref class BinaryMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement
public ref class BinaryMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement, System::ServiceModel::Description::IPolicyExportExtension, System::ServiceModel::Description::IWsdlExportExtension
public sealed class BinaryMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement
public sealed class BinaryMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement, System.ServiceModel.Description.IPolicyExportExtension, System.ServiceModel.Description.IWsdlExportExtension
type BinaryMessageEncodingBindingElement = class
    inherit MessageEncodingBindingElement
type BinaryMessageEncodingBindingElement = class
    inherit MessageEncodingBindingElement
    interface IWsdlExportExtension
    interface IPolicyExportExtension
Public NotInheritable Class BinaryMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Public NotInheritable Class BinaryMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Implements IPolicyExportExtension, IWsdlExportExtension
상속
BinaryMessageEncodingBindingElement
구현

예제

var be = new BinaryMessageEncodingBindingElement();
be.MaxReadPoolSize = 16;
be.MaxSessionSize = 2048;
be.MaxWritePoolSize = 16;
be.MessageVersion = MessageVersion.Default;
XmlDictionaryReaderQuotas quotas = be.ReaderQuotas;

var binding = new CustomBinding();
var bpCol = new BindingParameterCollection();
var context = new BindingContext(binding, bpCol);
be.BuildChannelFactory<IDuplexChannel>(context);

var binding2 = new CustomBinding();
var bpCol2 = new BindingParameterCollection();
var context2 = new BindingContext(binding2, bpCol2);
be.BuildChannelListener<IDuplexChannel>(context2);

be.CanBuildChannelListener<IDuplexChannel>(context2);
BindingElement bindingElement = be.Clone();
MessageEncoderFactory mef = be.CreateMessageEncoderFactory();
MessageVersion mv = be.GetProperty<MessageVersion>(context);
Dim be As New BinaryMessageEncodingBindingElement()
be.MaxReadPoolSize = 16
be.MaxSessionSize = 2048
be.MaxWritePoolSize = 16
be.MessageVersion = MessageVersion.Default
Dim quotas As XmlDictionaryReaderQuotas = be.ReaderQuotas

Dim binding As New CustomBinding()
Dim bpCol As New BindingParameterCollection()
Dim context As New BindingContext(binding, bpCol)
be.BuildChannelFactory(Of IDuplexChannel)(context)

Dim binding2 As New CustomBinding()
Dim bpCol2 As New BindingParameterCollection()
Dim context2 As New BindingContext(binding2, bpCol2)
be.BuildChannelListener(Of IDuplexChannel)(context2)

be.CanBuildChannelListener(Of IDuplexChannel)(context2)
Dim bindingElement As BindingElement = be.Clone()
Dim mef As MessageEncoderFactory = be.CreateMessageEncoderFactory()
Dim mv As MessageVersion = be.GetProperty(Of MessageVersion)(context)

설명

인코딩은 메시지를 바이트 시퀀스로 변환하는 프로세스입니다. 디코딩은 역방향 프로세스입니다. WCF(Windows Communication Foundation)에는 SOAP 메시지에 대한 세 가지 유형의 인코딩인 텍스트, 이진 및 MTOM(메시지 전송 최적화 메커니즘)이 포함됩니다.

BinaryMessageEncodingBindingElement xml에 대한 .NET 이진 형식을 인코딩하는 데 사용되도록 지정하는 바인딩 요소입니다. 사용할 문자 인코딩 및 SOAP 및 WS-Addressing 버전을 지정하는 옵션이 있습니다. 이진 인코딩은 인코딩 옵션 중 가장 효율적이지만 상호 운용성이 가장 낮은 인코딩 옵션입니다.

메시지를 지정하는 바인딩 요소에 대한 자세한 내용은 XML TextMessageEncodingBindingElement의 텍스트 표현을 사용하여 인코딩됩니다.

메시지를 지정하는 바인딩 요소에 대한 자세한 내용은 MTOM 메시지 인코딩을 사용하여 인코딩됩니다 MtomMessageEncodingBindingElement.

사용자 지정 메시지 인코더를 구현하려면 클래스를 MessageEncodingBindingElement 사용합니다.

생성자

Name Description
BinaryMessageEncodingBindingElement()

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

속성

Name Description
CompressionFormat

바인딩 요소의 압축 형식을 가져오거나 설정합니다.

MaxReadPoolSize

풀에 할당되고 들어오는 메시지를 처리하는 데 사용할 준비가 된 최대 XML 판독기 수를 가져오거나 설정합니다.

MaxSessionSize

전송 프로시저 최적화를 위해 세션 내에서 사용할 수 있는 최대 메모리 양을 가져오거나 설정합니다.

MaxWritePoolSize

풀에 할당되고 나가는 메시지를 처리하는 데 사용할 준비가 된 최대 XML 기록기 수를 가져오거나 설정합니다.

MessageVersion

사용되거나 예상되는 SOAP 메시지 및 WS-Addressing 버전을 가져오거나 설정합니다.

ReaderQuotas

이 바인딩 요소로 구성된 엔드포인트에서 처리할 수 있는 XML 메시지의 복잡성에 대한 제약 조건을 가져오거나 설정합니다.

메서드

Name Description
BuildChannelFactory<TChannel>(BindingContext)

지정된 컨텍스트에 대해 지정된 유형의 채널을 만드는 클라이언트에서 채널 팩터리 스택을 빌드합니다.

BuildChannelListener<TChannel>(BindingContext)

지정된 컨텍스트에 대해 지정된 유형의 채널을 허용하는 서비스에서 채널 수신기를 빌드합니다.

CanBuildChannelFactory<TChannel>(BindingContext)

바인딩 요소가 특정 유형의 채널에 대한 채널 팩터리를 빌드할 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

현재 바인딩이 지정된 유형의 채널 및 컨텍스트에 대한 수신기를 빌드할 수 있는지 여부를 나타내는 값을 반환합니다.

Clone()

현재 개체에서 초기화된 새 BinaryMessageEncodingBindingElement 개체를 만듭니다.

CreateMessageEncoderFactory()

SOAP 및 WS-Addressing 버전과 현재 인코딩 바인딩 요소로 지정된 문자 인코딩을 사용하는 이진 메시지 인코더용 팩터리를 만듭니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

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

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

(다음에서 상속됨 Object)
GetProperty<T>(BindingContext)

바인딩 요소 스택의 적절한 계층에서 요청된 형식화된 개체(있는 경우)를 반환합니다.

GetType()

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

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

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

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

SOAP 메시지 구조 버전을 serialize해야 하는지 여부를 반환합니다.

ShouldSerializeReaderQuotas()

SOAP 메시지 구조의 복잡성에 배치된 제약 조건 값을 serialize해야 하는지 여부를 반환합니다.

ToString()

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

엔드포인트에 대해 생성된 메타데이터에 사용자 지정 이진 메시지 인코딩 요소를 씁니다.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

계약에 대해 생성된 WSDL에 사용자 지정 이진 메시지 인코딩 요소를 씁니다.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

엔드포인트에 대해 생성된 WSDL에 사용자 지정 이진 메시지 인코딩 요소를 씁니다.

적용 대상