2011-09-03 16 views

Respuesta

15

Es el enlace definido para el punto final dado que especifica el mecanismo de serialización. Por ejemplo:

  • basicHttpBinding y wsHttpBinding usar jabón
  • netTcpBinding utiliza la serialización binaria
  • webHttpBinding podría utilizar XML, JSON, ...

Puede leer más acerca de los diferentes incorporada enlaces y sus propiedades en this article. Gracias a la extensibilidad de WCF, por supuesto, puedes escribir tus propios enlaces personalizados.

+0

El jabón no es un mecanismo de serialización. –

15

Estás jugando con dos técnicas juntas.

  • serialización - cómo los objetos se convierten en mensajes - tenemos XML y JSON formateadores disponibles fuera de la caja (DataContractSerializer, DataContractJsonSerializer, XmlSerializer)
  • Codificación - cómo el mensaje se transfiere - tenemos tres codificadores de la caja
    • TextMessageEncoder - para mensajes SOAP transferidos como texto - también es compatible con masa máxima de despegue y viruela (Plain Old XML) si la versión mensaje se establece en None
    • BinaryMessageEncoder - para los mensajes XML/SOAP transfieren como b los datos de ciertas piezas
    • WebMessageEncoder - para XML y JSON mensajes en servicios REST

Estas características son utilizadas por fijaciones estándar. WCF admite tantas serializaciones y codificaciones como quieras => puedes construir las tuyas propias.

+0

¿Hay alguna implementación de una serialización binaria? No quiero que el serializador transmita nombres de propiedad cada vez que envía una propiedad. – Omtara

+1

¿Puedo especificar en wshttpbinding para usar dataContractJsonSerializer? –

+2

@MichaelFreidgeim: No. WsHttpBinding es para servicios de Jabón. –

Cuestiones relacionadas