Implementace kontraktů služeb

Služba je třída, která zveřejňuje funkce dostupné klientům v jednom nebo více koncových bodech. Pokud chcete vytvořit službu, napište třídu, která implementuje kontrakt WCF (Windows Communication Foundation). Můžete to udělat dvěma způsoby. Kontrakt můžete definovat samostatně jako rozhraní a pak vytvořit třídu, která implementuje toto rozhraní. Alternativně můžete vytvořit třídu a kontrakt přímo tak, že umístíte ServiceContractAttribute atribut na samotnou třídu a OperationContractAttribute atribut na metody dostupné klientům služby.

Vytvoření třídy služby

Následuje příklad služby, která implementuje IMath kontrakt, který byl definován samostatně.

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

Případně může služba zveřejnit smlouvu přímo. Následuje příklad třídy služby, která definuje a 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; }  
}  

Všimněte si, že předchozí služby zveřejňují různé kontrakty, protože názvy kontraktů se liší. V prvním případě se vystavená smlouva jmenuje "IMath", zatímco v druhém případě má kontrakt název "MathService".

Na úrovni implementace služby a operace můžete nastavit několik věcí, jako je souběžnost a vytváření instancí. Další informace naleznete v tématu Návrh a implementace služeb.

Po implementaci kontraktu služby musíte pro službu vytvořit jeden nebo více koncových bodů. Další informace najdete v tématu Přehled vytváření koncových bodů. Další informace o tom, jak spustit službu, naleznete v tématu Hostitelské služby.

Viz také