다음을 통해 공유


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 사용합니다.

생성자

BinaryMessageEncodingBindingElement()

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

속성

CompressionFormat

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

MaxReadPoolSize

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

MaxSessionSize

전송 절차를 최적화하기 위해 세션에서 사용할 수 있는 최대 메모리 양을 가져오거나 설정합니다.

MaxWritePoolSize

보내는 메시지를 처리하는 데 사용할 수 있도록 풀에 할당되는 최대 XML 작성기 수를 가져오거나 설정합니다.

MessageVersion

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

ReaderQuotas

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

메서드

BuildChannelFactory<TChannel>(BindingContext)

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

BuildChannelListener<TChannel>(BindingContext)

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

BuildChannelListener<TChannel>(BindingContext)

바인딩 컨텍스트를 사용하여 지정된 형식의 채널을 수락하기 위해 채널 수신기를 초기화합니다.

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

바인딩 요소에서 특정 채널 형식에 대한 채널 팩터리를 만들 수 있는지 여부를 나타내는 값을 반환합니다.

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

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

CanBuildChannelListener<TChannel>(BindingContext)

바인딩 요소에서 특정 채널 형식에 대한 수신기를 만들 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 BindingElement)
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)

명시적 인터페이스 구현

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

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

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

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

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

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

적용 대상