2010-01-25 17 views

Respuesta

30

Notas de la versión de Cole:

  • El Contrato especifica lo que realmente hace el servicio. En otras palabras, qué Operaciones son válidas.

  • El punto final especifica una instancia en ejecución real del servicio. Es el "servicio" real en el sentido de que ejecuta, ya sea como un Servicio de Windows o bajo IIS.

  • El comportamiento Servicio define cómo el punto final interactúa con los clientes. Atributos como seguridad, concurrencia, almacenamiento en caché, registro, etc., todos son parte del comportamiento.

  • También hay un comportamiento Operación que es similar al comportamiento del servicio, pero sólo se pone aplica cuando se ejecuta una operación específica .

Para obtener más información, sugiero que empiece con WCF Architecture Overview.

+0

Y también para la diferencia entre el comportamiento del punto final y el comportamiento del servicio: http://blogs.msdn.com/b/mahjayar/archive/2006/02/27/540033.aspx – Arvand

7

El contrato es interfaz - define las operaciones de servicio expuestas por el servicio WCF, que pueden o no corresponder 1: 1 a una interfaz de código sin adornos de su aplicación.

El Comportamiento es una implementación de esa interfaz en el host - para todos los efectos, "el servicio".

8

Un poco tarde para una respuesta, pero

  • como estoy actualmente luchando con la diferencia entre los dos
  • y como éste es uno de los primeros resultados en Google
  • y porque la corriente respuestas no dieron me que AHA momento

siguiente es en pocas palabras w sombrero encendió la luz para mí (de Cudo a Fred Yang)

ServiceContract

  • afecta el comportamiento del cliente y servidor
  • puede aplicarse tanto a la interfaz y la clase
  • afecta el WSDL emitió

ServiceBehavior

  • sólo afecta al comportamiento del servidor
  • sólo es aplicable a una implementación de la clase
  • no afecta el WSDL

De ServiceContract vs ServiceBehavior

En WCF , Atributo ServiceContract afecta el comportamiento del cliente y del servidor, mientras que ServiceBehavior solo afecta el comportamiento del servidor. ServiceContract puede aplicarse tanto a la interfaz como a la clase, pero ServiceBehavior solo se puede aplicar a la implementación de clase. ServiceContract afecta al wsdl emitido, pero ServiceBehavior no hará que afecte el wsdl emitido.

-2

El contrato es un contrato entre el cliente y el proveedor del servicio. Indica qué datos estarán expuestos.

El comportamiento del servicio es el comportamiento del servicio que indica cómo se comportará el servicio cuando el cliente acceda al servicio. Supongamos que si varios clientes acceden al servicio, si puede o no solicitar, cómo manejar solicitudes múltiples, qué hacer para manejar solicitudes múltiples. Estas cosas son manejadas por el comportamiento del servicio.

+0

¿Cómo agrega exactamente esta respuesta extremadamente tardía? valor o algo nuevo a lo que ya se ha dado? – slugster

Cuestiones relacionadas