Share via


Definición de un contrato de servicio de Windows Communication Foundation

Ésta es la primera de las seis tareas necesarias para crear un servicio de Windows Communication Foundation (WCF) básico y un cliente que pueda llamar al servicio. Para obtener información general de las seis tareas, consulte el tema Tutorial de introducción.

Al crear un servicio WCF básico, la primera tarea es definir un contrato. El contrato especifica qué operaciones admite el servicio. Una operación se puede considerar un método de servicio web. Los contratos se crean mediante la definición de una interfaz de C++, C# o VB. Cada método de la interfaz se corresponde con una operación de servicio concreta. Cada interfaz debe tener ServiceContractAttribute aplicado y cada operación debe tener OperationContractAttribute aplicado. Si un método de una interfaz que tiene ServiceContractAttribute no tiene OperationContractAttribute, no se expone ese método.

El código utilizado para esta tarea se proporciona en el ejemplo que sigue al procedimiento.

Creación de un contrato de Windows Communication Foundation con una interfaz

  1. Abra Visual Studio 2008 como administrador haciendo clic con el botón secundario en el programa en el menú Inicio y seleccionando Ejecutar como administrador.

  2. Cree un nuevo proyecto de aplicación de consola. En el cuadro de diálogo Nuevo proyecto, seleccione Visual Basic o **Visual C#**y elija la plantilla Aplicación de consola y denomínela Servicio. Utilice la ubicación predeterminada.

  3. Cambie el espacio de nombres Service predeterminado a Microsoft.ServiceModel.Samples.

  4. Agregue una referencia a System.ServiceModel.dll al proyecto.

    1. En el Explorador de soluciones, haga clic con el botón secundario en la carpeta Referencias bajo la carpeta del proyecto y elija Agregar referencia.
    2. Haga clic en la ficha Examinar en el cuadro de diálogo Agregar referencia y navegue hasta c:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation, seleccione System.ServiceModel.dll y haga clic en Aceptar.

    Nota

    Al utilizar un compilador de línea de comandos (como, por ejemplo, Csc.exe o Vbc.exe), también debe proporcionar la ruta de acceso a los ensamblados. De forma predeterminada, en un equipo que ejecuta, por ejemplo, Windows Vista, la ruta de acceso es Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.

  5. Agregue una using declaración (Imports en Visual Basic) para el espacio de nombres System.ServiceModel.

  6. Defina una nueva interfaz denominada ICalculator y aplique el atributo ServiceContractAttribute a la interfaz con un valor Namespace de "http://Microsoft.ServiceModel.Samples". Especificar el espacio de nombres explícitamente es un procedimiento recomendado porque evita que el valor de espacio de nombres predeterminado se agregue al nombre del contrato.

    Nota

    Al utilizar los atributos para anotar una interfaz o clase, puede quitar la parte del atributo del nombre de atributo. De esta forma, ServiceContractAttribute se convierte en [ServiceContract]

  7. Declare un método para cada una de las operaciones que el contrato ICalculator expone (suma, resta, multiplicación y división) dentro de la interfaz y aplique el atributo OperationContractAttribute a cada método que desea exponer como parte del contrato WCF público.

Ejemplo

El siguiente código de ejemplo muestra una interfaz básica que define un contrato de servicio.

Ahora se crea la interfaz. Genere el proyecto para asegurarse de que no hay ningún error de compilación y, a continuación, continúe en Cómo implementar un contrato de servicio de Windows Communication Foundation para implementar la interfaz. Para obtener información para solucionar problemas, consulte Solución de problemas con el tutorial de introducción.

Consulte también

Tareas

Cómo implementar un contrato de servicio de Windows Communication Foundation

Referencia

ServiceContractAttribute
OperationContractAttribute

Otros recursos

Getting Started Sample
Self-Host