<mtomMessageEncoding>

SOAP Message Transmission Optimization Mechanism (MTOM) ベースのメッセージに使用されるエンコーディングおよびメッセージ バージョン管理を指定します。

configuration
  system.serviceModel
    <bindings>
      <customBinding>
        <binding>
          <mtomMessageEncoding>

構文

<mtomMessageEncoding maxBufferSize="Integer"
                     maxReadPoolSize="Integer"
                     maxWritePoolSize="Integer"
                     messageVersion="Soap11Addressing1/Soap12Addressing10"
                     writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
maxBufferSize 使用できるバッファーの最大サイズを指定する整数。
maxReadPoolSize 新しいリーダーを割り当てずに同時に読み取り可能なメッセージの数を指定する整数です。 プール サイズを大きくすると、システムでは、比較的大きい作業セットで、アクティビティの急増に対する許容度が高まります。 既定値は、64 です。
maxWritePoolSize 新しいライターを割り当てずに同時に送信可能なメッセージの数を指定する整数です。 プール サイズを大きくすると、システムでは、比較的大きい作業セットで、アクティビティの急増に対する許容度が高まります。 既定値は 16 です。
messageVersion バインディングを使用して送信されたメッセージの SOAP バージョンを指定します。 有効な値は、次のとおりです。

- Soap11Addressing1
- Soap12Addressing10

既定値は Soap12Addressing10 です。 この属性は MessageVersion 型です。
writeEncoding バインドでメッセージの発行に使用される文字セット エンコーディングを指定します。 有効な値は、次のとおりです。

- UnicodeFffeTextEncoding: Unicode BigEndian エンコード
- Utf16TextEncoding: Unicode エンコーディング
- Utf8TextEncoding: 8 ビットのエンコード

既定値は Utf8TextEncoding です。 この属性は Encoding 型です。

子要素

要素 説明
<readerQuotas> このバインドを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を定義します。 この要素は XmlDictionaryReaderQuotasElement 型です。

親要素

要素 説明
<binding> カスタム バインドのすべてのバインド機能を定義します。

解説

エンコーディングは、メッセージをバイト シーケンスに変換するプロセスです。 デコードは、その逆のプロセスです。 WCF (Windows Communication Foundation) には、SOAP メッセージのエンコードとして、テキスト、バイナリ、および MTOM (Message Transmission Optimization Mechanism) の 3 種類があります。

MtomMessageEncoding 要素は、MTOM (Message Transmission Optimization Mechanism) エンコーディングを使用するメッセージの文字エンコーディング、メッセージのバージョン管理、およびその他の設定を指定します。 MTOM は、WCF メッセージでバイナリ データを転送するための効率的なテクノロジです。 MTOM エンコーダーは、効率と相互運用性のバランスをとろうとします。 MTOM エンコーディングは、ほとんどの XML をテキスト形式で転送しますが、大きいサイズのバイナリ データ ブロックは、base64 でエンコードされた形式に変換せずに、そのまま転送することによって最適化します。

<mtomMessageEncoding maxReadPoolSize="211"
                     maxWritePoolSize="2132"
                     messageVersion="Soap11Addressing10"
                     textEncoding="utf-8" />

関連項目