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
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.
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.
Cambie el espacio de nombres
Service
predeterminado aMicrosoft.ServiceModel.Samples
.Agregue una referencia a System.ServiceModel.dll al proyecto.
- 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.
- 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.
Agregue una using declaración (Imports en Visual Basic) para el espacio de nombres System.ServiceModel.
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]
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