Procedimiento para crear un servicio con una interfaz de contrato
La manera preferida de crear un contrato de Windows Communication Foundation (WCF) es utilizar una interfaz. Este contrato especifica la colección y estructura de mensajes requeridas para obtener acceso a las operaciones que el servicio proporciona. Esta interfaz define los tipos de entrada y salida aplicando la clase ServiceContractAttribute a la interfaz y la clase OperationContractAttribute a los métodos que desee exponer.
Para obtener más información sobre los contratos de servicio, vea Diseño de contratos de servicios.
Creación de un contrato WCF con una interfaz
Cree una nueva interfaz mediante Visual Basic, C# o cualquier otro lenguaje de Common Language Runtime.
Aplique la clase ServiceContractAttribute a la interfaz.
Defina los métodos en la interfaz.
Aplique la clase OperationContractAttribute a cada método que debe exponerse como parte del contrato público de WCF.
Ejemplo
El siguiente ejemplo de código muestra una interfaz que define un contrato de servicio.
<ServiceContract()> _
Public Interface ICalculator
<OperationContract()> _
Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface
using System.ServiceModel;
[ServiceContract]
public interface ICalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
Los métodos que tienen la clase OperationContractAttribute aplicados utilizan de forma predeterminada un modelo de mensaje solicitud-respuesta. Para obtener más información sobre este modelo de mensaje, vea Creación de un contrato de solicitud‑respuesta. Puede crear y utilizar también otros modelos de mensaje estableciendo las propiedades del atributo. Para obtener más ejemplos, vea Cómo crear un contrato unidireccional y Creación de un contrato dúplex.