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 dwa sposoby. 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 ServiceContractAttribute atrybut w samej klasie i OperationContractAttribute atrybut metody dostępne 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 ustawić kilka rzeczy na poziomach implementacji usługi i operacji, takich jak współbieżność i instancing. 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 też