Udostępnij za pośrednictwem


Instrukcje: Tworzenie usługi przy użyciu interfejsu kontraktu

Preferowanym sposobem utworzenia kontraktu programu Windows Communication Foundation (WCF) jest użycie interfejsu. Ten kontrakt określa kolekcję i strukturę komunikatów wymaganych do uzyskiwania dostępu do operacji, które oferuje usługa. Ten interfejs definiuje typy danych wejściowych i wyjściowych, stosując ServiceContractAttribute klasę do interfejsu i OperationContractAttribute klasy do metod, które chcesz uwidocznić.

Aby uzyskać więcej informacji na temat kontraktów usług, zobacz Projektowanie kontraktów usług.

Tworzenie kontraktu WCF z interfejsem

  1. Utwórz nowy interfejs przy użyciu języka uruchomieniowego Visual Basic, C# lub innego języka wspólnego.

  2. Zastosuj klasę ServiceContractAttribute do interfejsu.

  3. Zdefiniuj metody w interfejsie.

  4. Zastosuj klasę OperationContractAttribute do każdej metody, która musi być uwidoczniona w ramach publicznego kontraktu WCF.

Przykład

Poniższy przykład kodu przedstawia interfejs definiujący kontrakt usługi.

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
   [OperationContract]
   double Add(double n1, double n2);
   [OperationContract]
   double Subtract(double n1, double n2);
   [OperationContract]
   double Multiply(double n1, double n2);
   [OperationContract]
   double Divide(double n1, double n2);
}


<ServiceContract()> _
Public Interface ICalculator
    <OperationContract()> _
    Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface

Metody, które mają zastosowaną OperationContractAttribute klasę, domyślnie używają wzorca komunikatu żądania-odpowiedzi. Aby uzyskać więcej informacji na temat tego wzorca komunikatu, zobacz How to: Create a Request-Reply Contract (Instrukcje: tworzenie kontraktu odpowiedzi na żądanie). Można również tworzyć i używać innych wzorców komunikatów, ustawiając właściwości atrybutu. Aby uzyskać więcej przykładów, zobacz How to: Create a One-Way Contract (Instrukcje: tworzenie kontraktu jednokierunkowego) i How to: Create a Duplex Contract (Jak utworzyć kontrakt dwukierunkowy).

Zobacz też