2011-09-03 13 views

答えて

15

これは、シリアル化メカニズムを指定する、指定されたエンドポイント用に定義されたバインディングです。たとえば、次のように

  • basicHttpBindingwsHttpBinding使用SOAP
  • netTcpBinding
  • webHttpBindingは、XML、JSONを使用することができ、バイナリシリアル化を使用して、...

あなたは別の組み込みの詳細を読むことができますバインディングとそのプロパティはthis articleにあります。 WCFの拡張性のおかげで、独自のカスタムバインディングを書くことができます。

+0

ソープはシリアル化メカニズムではありません。 –

15

あなたは2つのテクニックを一緒にしています。

  • シリアライズ - オブジェクトがメッセージに変換する方法 - 私たちはそのまま使用可能XMLとJSONのフォーマッタ持っている(DataContractSerializerDataContractJsonSerializerを、XmlSerializer
  • エンコーディング - メッセージが転送される方法 - 私たちは外の3つのエンコーダを持っていますBとして転送XML/SOAPメッセージのために - ボックス
    • TextMessageEncoder - テキストとして転送SOAPメッセージのは - メッセージのバージョンがNone
    • BinaryMessageEncoderに設定されている場合もMTOMとPOX(プレーン古いXML)をサポートしていますinaryデータ
    • WebMessageEncoder - XMLとJSONメッセージのRESTサービス

これらの機能では、標準バインディングによって使用されています。 WCFは必要な数のシリアライゼーションとエンコーディングをサポートします。=>独自のビルドが可能です。

+0

バイナリシリアル化の実装はありますか?シリアライザがプロパティ名を送信するたびに、プロパティを送信するたびにシリアライザにプロパティ名を送信させたくありませんか? – Omtara

+1

wshttpbindingでdataContractJsonSerializerを使用するように指定できますか? –

+2

@MichaelFreidgeim:いいえ.WsHttpBindingは、Soapサービス用です。 –

関連する問題