Postupy: Vytvoření kontraktu Windows Communication Foundation s třídou

Upřednostňovaným způsobem vytvoření kontraktu WCF (Windows Communication Foundation) je použití rozhraní. Další informace naleznete v tématu Postupy: Definování kontraktu služby. Alternativou je vytvoření třídy a následné použití ServiceContractAttribute atributu na třídu přímo a OperationContractAttribute atribut pro každou z metod ve třídě, které jsou součástí kontraktu.

Upozorňující

[ServiceContract] a [ServiceContractAttribute] udělej to samé. Totéž platí pro [OperationContract] a [OperationContractAttribute]. V každém případě je první zkratka pro druhý.

Další informace o kontraktech služeb naleznete v tématu Návrh kontraktů služeb.

Vytvoření kontraktu Windows Communication Foundation s třídou

  1. Vytvořte novou třídu pomocí jazyka Visual Basic, C# nebo jiného jazyka CLR (Common Language Runtime).

  2. ServiceContractAttribute Použijte třídu na třídu.

  3. Vytvořte metody ve třídě.

  4. OperationContractAttribute Použijte třídu na každou metodu, která musí být vystavena jako součást veřejného kontraktu WCF.

Příklad

Následující příklad kódu ukazuje třídu, která definuje kontrakt služby.

[ServiceContract]
public class CalculatorService
{
  [OperationContract]
  public double Add(double n1, double n2)
  {
     return n1 + n2;
  }

  [OperationContract]
  public double Subtract(double n1, double n2)
  {
     return n1 - n2;
  }

  [OperationContract]
  public double Multiply(double n1, double n2)
  {
     return n1 * n2;
  }

  [OperationContract]
  public double Divide(double n1, double n2)
  {
     return n1 / n2;
  }
}

<ServiceContract()> _
Public Class CalculatorService
    <OperationContract()> _
    Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 + n2
    End Function

    <OperationContract()> _
    Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 - n2
    End Function

    <OperationContract()> _
    Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 * n2
    End Function

    <OperationContract()> _
    Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 / n2
    End Function
End Class

Metody, které mají třídu použitou OperationContractAttribute , ve výchozím nastavení používají vzor zprávy požadavku-odpověď. Další informace o tomto vzoru zprávy naleznete v tématu Postupy: Vytvoření kontraktu žádosti a odpovědi. Můžete také vytvořit a použít jiné vzory zpráv nastavením vlastností atributu. Další příklady najdete v tématu Postupy: Vytvoření jednosměrného kontraktu a postupy: Vytvoření duplexního kontraktu.

Viz také