Share via


Servicecontracten implementeren

Een service is een klasse die functionaliteit beschikbaar maakt voor clients op een of meer eindpunten. Als u een service wilt maken, schrijft u een klasse die een WCF-contract (Windows Communication Foundation) implementeert. Dit kan op twee manieren. U kunt het contract afzonderlijk definiëren als een interface en vervolgens een klasse maken waarmee die interface wordt geïmplementeerd. U kunt de klasse en het contract ook rechtstreeks maken door het ServiceContractAttribute kenmerk op de klasse zelf en het OperationContractAttribute kenmerk te plaatsen op de methoden die beschikbaar zijn voor de clients van de service.

Een serviceklasse maken

Hier volgt een voorbeeld van een service waarmee een IMath contract wordt geïmplementeerd dat afzonderlijk is gedefinieerd.

// 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; }  
}  

Een service kan ook rechtstreeks een contract beschikbaar maken. Hier volgt een voorbeeld van een serviceklasse waarmee een MathService contract wordt gedefinieerd en geïmplementeerd.

// 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; }  
}  

Houd er rekening mee dat de voorgaande services verschillende contracten beschikbaar maken omdat de contractnamen verschillen. In het eerste geval heet het blootgestelde contract 'IMath' terwijl in het tweede geval het contract de naam 'MathService' heeft.

U kunt een aantal dingen instellen op het niveau van de implementatie van services en bewerkingen, zoals gelijktijdigheid en instancing. Zie Services ontwerpen en implementeren voor meer informatie.

Nadat u een servicecontract hebt geïmplementeerd, moet u een of meer eindpunten voor de service maken. Zie Overzicht van het maken van eindpunten voor meer informatie. Zie HostingServices voor meer informatie over het uitvoeren van een service.

Zie ook