WebMessageEncodingBindingElement 클래스

정의

WCF(Windows Communication Foundation) 바인딩에 사용될 경우 일반 텍스트 XML, JSON(JavaScript Object Notation) 메시지 인코딩 및 "원시" 이진 콘텐츠를 읽고 쓸 수 있게 합니다.

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

설명

인코딩은 메시지를 바이트 시퀀스로 변형하는 프로세스입니다. 디코딩은 역프로세스입니다. 이러한 프로세스에서는 문자 인코딩을 지정해야 합니다. WebMessageEncodingBindingElement는 일반 텍스트 XML 및 JSON 인코딩과 "원시" 이진 데이터 처리를 일련의 내부 인코더에 위임하는 방식으로 동작하며 이 위임은 복합 메시지 인코더에 의해 수행됩니다.

이 바인딩 요소와 요소의 복합 인코더는 WebHttpBinding에 사용되는 SOAP 메시징을 사용하지 않는 시나리오에서 인코딩을 제어하는 데 사용됩니다. 이러한 시나리오에는 POX("Plain Old XML"), REST(Representational State Transfer), RSS(Really Simple Syndication) 및 Atom 배포, AJAX(Asynchronous JavaScript and XML) 등이 있습니다. 복합 메시지 인코더는 SOAP 또는 WS-Addressing을 지원하지 않으므로 MessageVersion은 항상 None을 반환합니다.

바인딩 요소는 WebMessageEncodingBindingElement(Encoding) 생성자를 사용하여 생성할 때 쓰기 문자 인코딩으로 구성할 수 있습니다. Encoding 값은 JSON 및 텍스트 XML에 대한 쓰기 동작을 지정합니다. 읽기의 경우 유효한 모든 메시지 인코딩 및 텍스트 인코딩이 인식됩니다.

이 생성자는 판독기나 작성기를 새로 할당하지 않고도 들어오는 메시지와 보내는 메시지를 각각 처리할 수 있도록 풀에 할당되는 최대 판독기 및 작성기 수에 대한 기본값을 설정합니다. MaxReadPoolSizeMaxWritePoolSize 속성을 사용하여 할당할 판독기 및 작성기의 최대 수를 각각 설정할 수도 있습니다. 기본적으로 64개의 판독기와 16개의 작성기가 할당됩니다.

또한 이 생성자는 이 인코딩과 연결된 XmlDictionaryReaderQuotas에서 ReaderQuotas 속성을 통해 기본 복잡성 제약 조건을 설정함으로써 메시지 복잡성을 이용하여 리소스를 처리하는 엔드포인트에서 정체를 일으키려고 하는 DOS(서비스 거부) 공격 유형으로부터 보호합니다.

WebMessageEncodingBindingElement에는 지정된 콘텐츠 형식에 따라 JSON, XML 또는 원시 메시지 디코더와 인코더를 적절하게 생성하는 메시지 인코더 팩터리를 만드는 CreateMessageEncoderFactory 메서드가 있습니다.

또한 WebMessageEncodingBindingElement는 HTTP 요청이 이동하는 채널에 대한 팩터리 및 수신기를 생성하는 메서드를 제공합니다.

복합 인코더와 인코더의 관련 클래스 및 구성 요소를 부분 신뢰 환경에서 사용할 수 있으며 이를 위해 특별한 권한이 필요하지는 않습니다.

생성자

WebMessageEncodingBindingElement()

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

WebMessageEncodingBindingElement(Encoding)

지정된 쓰기 문자 인코딩을 사용하여 WebMessageEncodingBindingElement 클래스의 새 인스턴스를 초기화합니다.

속성

ContentTypeMapper

들어오는 메시지의 콘텐츠 형식을 형식에 매핑하는 방법을 가져오거나 설정합니다.

CrossDomainScriptAccessEnabled

도메인 간 스크립트 액세스가 가능한지 여부를 결정하는 값을 가져오거나 설정합니다.

MaxReadPoolSize

판독기를 새로 할당하지 않고 들어오는 메시지를 처리할 수 있도록 풀에 할당되는 최대 판독기 수를 지정하는 값을 가져오거나 설정합니다.

MaxWritePoolSize

작성기를 새로 할당하지 않고 나가는 메시지를 처리할 수 있도록 풀에 할당되는 최대 작성기 수를 지정하는 값을 가져오거나 설정합니다.

MessageVersion

바인딩 요소가 SOAP 또는 WS-Addressing을 사용하지 않음을 나타내는 메시지 버전을 가져오거나 설정합니다.

ReaderQuotas

이 바인딩으로 구성된 엔드포인트에서 처리할 수 있는 SOAP 메시지의 복잡성에 대한 제약 조건을 가져옵니다.

WriteEncoding

메시지 텍스트를 쓰는 데 사용되는 문자 인코딩을 가져오거나 설정합니다.

메서드

BuildChannelFactory<TChannel>(BindingContext)

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

BuildChannelListener<TChannel>(BindingContext)

지정된 컨텍스트에 대해 지정된 형식의 채널을 수락하는 채널 수신기 스택을 클라이언트에 만듭니다.

CanBuildChannelFactory<TChannel>(BindingContext)

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

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

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

Clone()

현재 개체에서 초기화되는 새로운 WebMessageEncodingBindingElement 개체를 만듭니다.

CreateMessageEncoderFactory()

JSON 또는 XML 메시지를 쓸 수 있는 메시지 인코더를 생성하는 메시지 인코더 팩터리를 만듭니다.

Equals(Object)

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

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

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

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

채널 스택의 해당 계층에 요청된 형식의 개체가 있으면 그 개체를 반환하고, 그렇지 않으면 null을 반환합니다.

GetType()

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

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

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

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

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

바인딩 요소에 포함된 인코딩 정책에서 WSDL 계약 정보를 생성합니다.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

바인딩 요소에 포함된 인코딩 정책에서 WSDL 계약 정보를 생성합니다.

적용 대상