Procedimiento para crear un servicio con una interfaz de contrato
La forma preferible para crear un contrato Windows Communication Foundation (WCF) es mediante 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 contratos de servicios, consulte 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 WCF público.
Ejemplo
El siguiente ejemplo de código muestra una interfaz que define un contrato de servicio.
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);
}
<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
Los métodos que tienen aplicada la clase OperationContractAttribute usan de forma predeterminada un patrón de mensaje solicitud-respuesta. Para obtener más información sobre este patrón de mensaje, consulte Procedimiento para crear un contrato de solicitud-respuesta. Puede crear y utilizar también otros patrones de mensaje estableciendo las propiedades del atributo. Para obtener más ejemplos, consulte Procedimiento para crear un contrato unidireccional y Procedimiento para crear un contrato de devolución de llamada.