WCF入門-02。WCFのエンコードとフォーマットを理解する。

WCFでクライアントからサーバへ、サーバからクライアントで転送するデータのエンコード(符号化)は、以下の3種類から選択することができます。

  • テキスト(XML1.0)
  • バイナリ(Base64BinaryEncoding)
  • MTOM(SOAP Message Transmission Optimization Mechanism)

フォーマットはSOAP形式で、中身は上記のうち3つから選択することができます。MTOMはSOAP形式のバイナリデータ符号化方式の一つです。テキストよりバイナリの方が圧倒的に転送するデータは小さくなるのでパフォーマンス重視ならバイナリもしくはMTOM、通信するデータも目視で確認できる形式にしたいのであればテキストを選択します。

封筒と中身で例えると、SOAP形式の封筒に、転送したいデータをエンコードした中身が入っているようなものです。

WCFの場合は、後から構成ファイルを使って変更することができるので、開発時はテキスト、運用時はバイナリ/MTOMと使い分けても良いですし、パフォーマンス問題が発生するまではテキスト、発生したらバイナリという方法などと柔軟に対応することができます。