Share via


Implementación de contratos de servicio

Un servicio es una clase que expone la funcionalidad disponible a los clientes en uno o más extremos. Para crear un servicio, escriba una clase que implemente un contrato Windows Communication Foundation (WCF). Hay dos maneras de hacerlo. Puede definir el contrato separadamente como una interfaz y, a continuación, crear una clase que implemente esa interfaz. También puede crear la clase y el contrato directamente colocando el atributo ServiceContractAttribute en la misma clase y el atributo OperationContractAttribute en los métodos disponibles para los clientes del servicio.

Crear una clase de servicio

A continuación, se muestra un ejemplo de un servicio que implementa un contrato IMath que se ha definido separadamente.

// Define the IMath contract.
[ServiceContract]
public interface IMath
{
    [OperationContract] 
    double Add(double A, double B);

    [OperationContract]
    double Multiply (double A, double B);
}

// Implement the IMath contract in the MathService class.
public class MathService : IMath
{
    public double Add (double A, double B) { return A + B; }
    public double Multiply (double A, double B) { return A * B; }
}

De forma alternativa, un servicio puede exponer un contrato directamente. A continuación, se muestra un ejemplo de una clase de servicio que define e implementa un contrato MathService.

// Define the MathService contract directly on the service class.
[ServiceContract]
class MathService
{
    [OperationContract]
    public double Add(double A, double B) { return A + B; }
    [OperationContract]
    private double Multiply (double A, double B) { return A * B; }
}

Tenga en cuenta que los servicios anteriores exponen contratos diferentes porque los nombres del contrato son diferentes. En el primer caso, el contrato expuesto se denomina "IMath" mientras que, en el segundo caso, el contrato se denomina" MathService".

Puede establecer algunas cosas en el servicio y niveles de implementación de operación, como simultaneidad y creación de instancias. Para obtener más información, consulte Diseño e implementación de servicios.

Después de implementar un contrato de servicios, debe crear uno o más extremos para el servicio. Para obtener más información, consulte Información general acerca de la creación de puntos finales. Para obtener más información acerca de cómo ejecutar un servicio, consulte Servicios de hospedaje.

Consulte también

Tareas

Cómo: Crear un contrato de Windows Communication Foundation con una clase
Procedimiento para crear un servicio con una interfaz de contrato

Conceptos

Diseño e implementación de servicios
Especificación del comportamiento en tiempo de ejecución del servicio