Udostępnij za pomocą


Implementowanie kontraktów usług

Usługa to klasa, która uwidacznia funkcje dostępne dla klientów w co najmniej jednym punkcie końcowym. Aby utworzyć usługę, napisz klasę, która implementuje kontrakt programu Windows Communication Foundation (WCF). Można to zrobić na jeden z dwóch sposobów. Kontrakt można zdefiniować oddzielnie jako interfejs, a następnie utworzyć klasę, która implementuje ten interfejs. Alternatywnie można utworzyć klasę i kontrakt bezpośrednio, umieszczając atrybut ServiceContractAttribute w samej klasie, a atrybut OperationContractAttribute na metodach dostępnych dla klientów usługi.

Tworzenie klasy usługi

Poniżej przedstawiono przykład usługi, która implementuje IMath kontrakt, który został zdefiniowany oddzielnie.

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

Alternatywnie usługa może bezpośrednio uwidocznić kontrakt. Poniżej przedstawiono przykład klasy usługi, która definiuje i implementuje MathService kontrakt.

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

Należy pamiętać, że poprzednie usługi uwidaczniają różne kontrakty, ponieważ nazwy kontraktów są różne. W pierwszym przypadku ujawniony kontrakt nosi nazwę "IMath", natomiast w drugim przypadku kontrakt ma nazwę "MathService".

Możesz ustalić kilka aspektów na poziomach implementacji usługi i operacji, takich jak współbieżność i instancjonowanie. Aby uzyskać więcej informacji, zobacz Projektowanie i implementowanie usług.

Po zaimplementowaniu kontraktu usługi należy utworzyć co najmniej jeden punkt końcowy dla usługi. Aby uzyskać więcej informacji, zobacz Omówienie tworzenia punktu końcowego. Aby uzyskać więcej informacji na temat sposobu uruchamiania usługi, zobacz Hosting Services.

Zobacz także