Dela via


Gör så här: Skapa en tjänst med ett kontraktsgränssnitt

Det bästa sättet att skapa ett WCF-kontrakt (Windows Communication Foundation) är att använda ett gränssnitt. Det här kontraktet anger samlingen och strukturen för meddelanden som krävs för att få åtkomst till de åtgärder som tjänsten erbjuder. Det här gränssnittet definierar indata- och utdatatyperna genom att tillämpa ServiceContractAttribute klassen på gränssnittet och OperationContractAttribute klassen på de metoder som du vill exponera.

Mer information om tjänstkontrakt finns i Designa tjänstkontrakt.

Skapa ett WCF-kontrakt med ett gränssnitt

  1. Skapa ett nytt gränssnitt med Visual Basic, C# eller något annat vanligt språkkörningsspråk.

  2. Tillämpa klassen på ServiceContractAttribute gränssnittet.

  3. Definiera metoderna i gränssnittet.

  4. Tillämpa klassen på OperationContractAttribute varje metod som måste exponeras som en del av det offentliga WCF-kontraktet.

Exempel

I följande kodexempel visas ett gränssnitt som definierar ett tjänstkontrakt.

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

De metoder som har klassen OperationContractAttribute tillämpad använder ett mönster för begäran-svar-meddelande som standard. Mer information om det här meddelandemönstret finns i How to: Create a Request-Reply Contract (Skapa ett begärandesvarskontrakt). Du kan också skapa och använda andra meddelandemönster genom att ange egenskaper för attributet. Fler exempel finns i How to: Create a One-Way Contract and How to: Create a Duplex Contract (Skapa ett dubbelsidigt kontrakt).

Se även