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:
- Elke methode in de interface komt overeen met een specifieke servicebewerking.
- Voor elke interface moet u het ServiceContractAttribute kenmerk toepassen.
- Voor elke bewerking/methode moet u het OperationContractAttribute kenmerk toepassen.
In deze zelfstudie leert u het volgende:
- Maak een WCF-servicebibliotheekproject .
- Definieer een servicecontractinterface.
Een WCF-servicebibliotheekproject maken en een servicecontractinterface definiëren
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.
Maak een WCF-servicebibliotheekproject .
Selecteer Nieuw>project in het menu Bestand.
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.
Voer in het onderste gedeelte van het venster GettingStartedLib in voor de naam en GettingStarted voor de naam van de oplossing.
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.
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 alsServiceContract
). 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 alsOperationContract
).
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.