Sdílet prostřednictvím


Postupy: Vytvoření kontraktu požadavku a odpovědi

Kontrakt žádosti-odpověď určuje metodu, která vrací odpověď. Odpověď musí být odeslána a korelována s žádostí podle podmínek této smlouvy. I když metoda nevrátí odpověď (void v jazyce C# nebo Sub v jazyce Visual Basic), infrastruktura vytvoří a odešle volajícímu prázdnou zprávu. Pokud chcete zabránit odesílání prázdné zprávy odpovědi, použijte pro operaci jednosměrný kontrakt.

Vytvoření kontraktu žádosti a odpovědi

  1. Vytvořte rozhraní v programovacím jazyce podle vašeho výběru.

  2. ServiceContractAttribute Použijte atribut na rozhraní.

  3. Použijte atribut pro každou metodu OperationContractAttribute , kterou můžou klienti vyvolat.

  4. Nepovinné. Nastavte hodnotu IsOneWay vlastnosti tak, aby true se zabránilo odeslání prázdné zprávy odpovědi. Ve výchozím nastavení jsou všechny operace kontrakty odpovědí na žádosti.

Příklad

Následující ukázka definuje kontrakt pro službu kalkulačky, která poskytuje Add a Subtract metody. Metoda Multiply není součástí kontraktu, protože není označena OperationContractAttribute třídou, a proto není přístupná klientům.

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
    [OperationContract]
    // It would be equivalent to write explicitly:
    // [OperationContract(IsOneWay=false)]
    int Add(int a, int b);

    [OperationContract]
    int Subtract(int a, int b);

    int Multiply(int a, int b)
}
  • Další informace o tom, jak určit kontrakty operací, naleznete v OperationContractAttribute třídě a IsOneWay vlastnosti.

  • Použití ServiceContractAttribute atributů způsobí OperationContractAttribute automatické generování definic kontraktů služeb v dokumentu WSDL (Web Services Description Language) po nasazení služby. Dokument se stáhne připojením ?wsdl k základní adrese HTTP pro službu. Například http://microsoft/CalculatorService?wsdl

Viz také