2011-09-03 4 views

답변

15

직렬화 메커니즘을 지정하는 지정된 끝점에 대해 정의 된 바인딩입니다. 예를 들어 :

  • basicHttpBindingwsHttpBinding 사용 SOAP
  • netTcpBinding은 바이너리 직렬화를 사용

당신은 내장 된 다양한에 대한 자세한 내용을보실 수 있습니다

  • webHttpBinding XML을 사용할 수, JSON, ... 바인딩 및 해당 속성은 this article에 있습니다. WCF의 확장 성 덕분에 사용자 정의 바인딩을 직접 작성할 수 있습니다.

  • +0

    비누는 직렬화 메커니즘이 아닙니다. –

    15

    두 가지 기법을 함께 사용하고 있습니다.

    • 직렬화 - 객체가 메시지로 변환하는 방법 - 메시지가 전송되는 방법 - - 우리가에서 세 인코더를 가지고 우리가 상자 (DataContractSerializer, DataContractJsonSerializer, XmlSerializer)
    • 인코딩에서 사용 가능한 XML 및 JSON 포매터를 상자
      • TextMessageEncoder - 텍스트로 전송 된 SOAP 메시지는 - XML ​​/ SOAP 메시지를 B로 전송 - 또한 MTOM 및 메시지 버전이 None
      • BinaryMessageEncoder로 설정되어있는 경우 POX (일반 오래된 XML)을 지원합니다 inary 데이터
      • WebMessageEncoder - XML ​​및 JSON 메시지에 대한 REST 서비스

    이러한 기능의 표준 바인딩에 의해 사용됩니다. WCF는 원하는만큼 직렬화와 인코딩을 지원합니다. => 직접 만들 수 있습니다.

    +0

    이진 직렬화 구현이 있습니까? 시리얼 라이저가 속성을 보낼 때마다 속성 이름을 전송하는 것을 원하지 않습니까? – Omtara

    +1

    wshttpbinding에서 dataContractJsonSerializer를 사용하도록 지정할 수 있습니까? –

    +2

    @MichaelFreidgeim : 아니요. WsHttpBinding은 Soap 서비스 용입니다. –

    관련 문제