WCF(Windows Communication Foundation) 바인딩에서 사용할 때 일반 텍스트 XML, JSON(JavaScript Object Notation) 메시지 인코딩 및 "원시" 이진 콘텐츠를 읽고 쓸 수 있습니다.
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding>
<webMessageEncoding>
문법
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
특성 및 요소
다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
Attributes
| 특성 | Description |
|---|---|
maxReadPoolSize |
새 판독기를 할당하지 않고 동시에 읽을 수 있는 메시지의 양입니다. 풀 크기가 크면 더 큰 작업 집합의 비용으로 시스템이 활동 급증에 더 관대하게 됩니다. 기본값은 각 내부 인코더(텍스트, JSON 및 "원시")에 대해 64개의 판독기입니다. 이 수를 늘리면 메모리 사용량이 증가하지만 새 메시지를 만드는 대신 이미 만든 풀의 판독기를 사용할 수 있으므로 들어오는 메시지의 갑작스런 버스트를 처리하도록 인코더를 준비합니다. |
maxWritePoolSize |
새 작성기를 할당하지 않고 동시에 보낼 수 있는 메시지의 양입니다. 풀 크기가 크면 더 큰 작업 집합의 비용으로 시스템이 활동 급증에 더 관대하게 됩니다. 기본값은 각 내부 인코더(텍스트, JSON 및 "원시")에 대해 16개의 기록기입니다. 이 수를 늘리면 메모리 사용량이 늘어나지만 새 메시지를 만드는 대신 이미 만든 풀의 기록기를 사용할 수 있으므로 갑자기 발생하는 메시지의 버스트를 처리하도록 인코더를 준비합니다. |
writeEncoding |
바인딩에서 메시지를 내보내는 데 사용할 문자 집합 인코딩을 지정합니다. 유효한 값은 다음과 같습니다. - UnicodeFffeTextEncoding: 유니코드 빅 엔디안 인코딩. - Utf16TextEncoding: 유니코드 인코딩. - Utf8TextEncoding: 8비트 인코딩. 기본값은 Utf8TextEncoding입니다. 이 특성은 형식 Encoding입니다. |
자식 요소
| 요소 | Description |
|---|---|
| <readerQuotas> | 이 바인딩으로 구성된 엔드포인트에서 처리할 수 있는 SOAP 메시지의 복잡성에 대한 제약 조건을 정의합니다. 이 요소는 형식 XmlDictionaryReaderQuotasElement입니다. |
부모 요소
| 요소 | Description |
|---|---|
| <제본> | 사용자 지정 바인딩의 모든 바인딩 기능을 정의합니다. |
비고
인코딩은 메시지를 바이트 시퀀스로 변환하는 프로세스입니다. 디코딩은 역방향 프로세스입니다. 이러한 프로세스에는 문자 인코딩의 사양이 필요합니다.
요소는 webMessageEncoding 일반 텍스트 XML 및 JSON 인코딩 및 "원시" 이진 데이터를 처리하도록 일련의 내부 인코더를 위임하여 작동합니다. 이 위임은 복합 메시지 인코더에 의해 수행됩니다.
이 바인딩 요소 및 복합 인코더는 요소에서 사용하는 SOAP 메시징을 사용하지 않는 시나리오에서 인코딩을 제어하는 데 사용됩니다 webHttpBinding . 이러한 시나리오에는 "POX(Plain Old XML)", REST(Representational State Transfer), RSS(Really Simple Syndication) 및 Atom 배포, AJAX(비동기 JavaScript 및 XML)가 포함됩니다. 복합 메시지 인코더는 SOAP 또는 WS-Addressing을 지원하지 않습니다.
바인딩 요소는 특성을 사용하여 writeEncoding 쓰기 문자 인코딩으로 구성할 수 있습니다. 제공된 Encoding 값은 JSON 및 Textual XML 사례에 대한 쓰기 동작을 지정합니다. 읽기 시 유효한 메시지 인코딩 및 텍스트 인코딩이 이해됩니다.
maxReadPoolSize 각각 maxWritePoolSize 할당할 최대 판독기 및 기록기 수를 설정하는 데 사용할 수도 있습니다. 기본적으로 64개의 판독기와 16개의 작성기가 할당됩니다.
또한 메시지 복잡성을 사용하여 엔드포인트 처리 리소스를 연결하려는 DOS(서비스 거부) 공격으로부터 보호하기 위해 readerQuotas> 요소를 사용하여< 기본 복잡성 제약 조건이 설정됩니다.
예시
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />
참고하십시오
.NET