Delen via


Zelfstudie: Een Windows Communication Foundation-servicecontract definiëren

In deze zelfstudie worden de eerste van de vijf taken beschreven die nodig zijn om een eenvoudige WCF-toepassing (Windows Communication Foundation) te maken. Zie Zelfstudie: Aan de slag met Windows Communication Foundation-toepassingen voor een overzicht van de zelfstudies.

Wanneer u een WCF-service maakt, moet u eerst een servicecontract definiëren. Het servicecontract geeft aan welke bewerkingen door de service worden ondersteund. Een bewerking kan worden beschouwd als een webservicemethode. U maakt servicecontracten door een C# of Visual Basic-interface te definiëren. Een interface heeft de volgende kenmerken:

In deze zelfstudie leert u het volgende:

  • Maak een WCF-servicebibliotheekproject .
  • Definieer een servicecontractinterface.

Een WCF-servicebibliotheekproject maken en een servicecontractinterface definiëren

  1. Open Visual Studio als beheerder. Hiervoor selecteert u het Visual Studio-programma in het menu Start en selecteert u Meer>uitvoeren als beheerder in het snelmenu.

  2. Maak een WCF-servicebibliotheekproject .

    1. Selecteer Nieuw>project in het menu Bestand.

    2. Vouw in het dialoogvenster Nieuw project aan de linkerkant Visual C# of Visual Basic uit en selecteer vervolgens de WCF-categorie. In Visual Studio wordt een lijst met projectsjablonen weergegeven in de middelste sectie van het venster. Selecteer de WCF-servicebibliotheek.

      Notitie

      Als u de categorie WCF-projectsjabloon niet ziet, moet u mogelijk het Windows Communication Foundation-onderdeel van Visual Studio installeren. Selecteer in het dialoogvenster Nieuw project de koppeling Visual Studio Installer openen aan de linkerkant. Selecteer het tabblad Afzonderlijke onderdelen en zoek en selecteer Vervolgens Windows Communication Foundation onder de categorie Ontwikkelingsactiviteiten . Kies Wijzigen om het onderdeel te installeren.

    3. Voer in het onderste gedeelte van het venster GettingStartedLib in voor de naam en GettingStarted voor de naam van de oplossing.

    4. Selecteer OK.

      Visual Studio maakt het project met drie bestanden: IService1.cs (of IService1.vb voor een Visual Basic-project), Service1.cs (of Service1.vb voor een Visual Basic-project) en App.config. Visual Studio definieert deze bestanden als volgt:

      • Het bestand IService1 bevat de standaarddefinitie van het servicecontract.
      • Het Service1-bestand bevat de standaard implementatie van het servicecontract.
      • Het Bestand App.config bevat de configuratiegegevens die nodig zijn om de standaardservice te laden met het hulpprogramma Visual Studio WCF Service Host. Zie WCF-servicehost (WcfSvcHost.exe) voor meer informatie over het hulpprogramma WCF-servicehost.

      Notitie

      Als u Visual Studio hebt geïnstalleerd met instellingen voor de Visual Basic-ontwikkelaarsomgeving, is de oplossing mogelijk verborgen. Als dit het geval is, selecteert u Opties in het menu Extra en selecteert u projecten en oplossingen>algemeen in het venster Opties. Selecteer Altijd oplossing weergeven. Controleer ook of nieuwe projecten opslaan wanneer deze zijn gemaakt , is geselecteerd.

  3. Open in Solution Explorer het bestand IService1.cs of IService1.vb en vervang de code door de volgende code:

    using System;
    using System.ServiceModel;
    
    namespace GettingStartedLib
    {
            [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
            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);
            }
    }
    
    Imports System.ServiceModel
    
    Namespace GettingStartedLib
    
        <ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
        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
    End Namespace
    

    Dit contract definieert een online calculator. U ziet dat de ICalculator interface is gemarkeerd met het ServiceContractAttribute kenmerk (vereenvoudigd als ServiceContract). Dit kenmerk definieert een naamruimte om de naam van het contract niet eenduidig te maken. De code markeert elke rekenmachinebewerking met het OperationContractAttribute kenmerk (vereenvoudigd als OperationContract).

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Maak een WCF-servicebibliotheekproject.
  • Definieer een servicecontractinterface.

Ga naar de volgende zelfstudie voor meer informatie over het implementeren van het WCF-servicecontract.