Eindpunten: adressen, bindingen en contracten
Alle communicatie met een WCF-service (Windows Communication Foundation) vindt plaats via de eindpunten van de service. Eindpunten bieden clients toegang tot de functionaliteit die wordt aangeboden door een WCF-service.
Elk eindpunt bestaat uit vier eigenschappen:
Een adres dat aangeeft waar het eindpunt kan worden gevonden.
Een binding die aangeeft hoe een client kan communiceren met het eindpunt.
Een contract waarmee de beschikbare bewerkingen worden geïdentificeerd.
Een set gedragingen waarmee lokale implementatiedetails van het eindpunt worden opgegeven.
In dit onderwerp wordt deze eindpuntstructuur besproken en wordt uitgelegd hoe deze wordt weergegeven in het WCF-objectmodel.
De structuur van een eindpunt
Elk eindpunt bestaat uit het volgende:
Adres: Het adres identificeert het eindpunt op unieke wijze en vertelt potentiële consumenten van de service waar het zich bevindt. Het wordt weergegeven in het WCF-objectmodel door de EndpointAddress klasse. Een EndpointAddress klasse bevat:
Een Uri eigenschap die het adres van de service vertegenwoordigt.
Een Identity eigenschap, die de beveiligingsidentiteit van de service vertegenwoordigt en een verzameling optionele berichtkoppen. De optionele berichtkoppen worden gebruikt om aanvullende en gedetailleerdere adresseringsinformatie te bieden om het eindpunt te identificeren of ermee te communiceren.
Zie Een eindpuntadres opgeven voor meer informatie.
Binding: De binding geeft aan hoe moet worden gecommuniceerd met het eindpunt. Dit zijn onder andere de nieuwe mogelijkheden:
Het transportprotocol dat moet worden gebruikt (bijvoorbeeld TCP of HTTP).
De codering die moet worden gebruikt voor de berichten (bijvoorbeeld tekst of binair).
De benodigde beveiligingsvereisten (bijvoorbeeld SSL- of SOAP-berichtbeveiliging).
Zie Het overzicht van WCF-bindingen voor meer informatie. Een binding wordt weergegeven in het WCF-objectmodel door de abstracte basisklasse Binding. Voor de meeste scenario's kunnen gebruikers een van de door het systeem geleverde bindingen gebruiken. Zie Systeemgebonden bindingen voor meer informatie.
Contracten: In het contract wordt beschreven welke functionaliteit het eindpunt beschikbaar maakt voor de client. Een contract geeft het volgende op:
Welke bewerkingen kunnen worden aangeroepen door een client.
De vorm van het bericht.
Het type invoerparameters of gegevens dat nodig is om de bewerking aan te roepen.
Welk type verwerkings- of antwoordbericht de client kan verwachten.
Zie Servicecontracten ontwerpen voor meer informatie over het definiëren van een contract.
Gedrag: U kunt eindpuntgedrag gebruiken om het lokale gedrag van het service-eindpunt aan te passen. Eindpuntgedrag bereikt dit door deel te nemen aan het proces van het bouwen van een WCF-runtime. Een voorbeeld van een eindpuntgedrag is de ListenUri eigenschap, waarmee u een ander luisteradres kunt opgeven dan het WSDL-adres (SOAP of Web Services Description Language). Zie ClientViaBehavior voor meer informatie.
Eindpunten definiëren
U kunt het eindpunt voor een service opgeven met behulp van code of declaratief via de configuratie. Zie How to: Create a Service Endpoint in Configuration and How to: Create a Service Endpoint in Code (Een service-eindpunt maken in code) voor meer informatie.
In dit gedeelte
In deze sectie wordt het doel van bindingen, eindpunten en adressen uitgelegd; laat zien hoe u een binding en een eindpunt configureert; en laat zien hoe u het gedrag en ListenUri
de ClientVia
eigenschap gebruikt.
Adressen
Hierin wordt beschreven hoe eindpunten worden geadresseerd in WCF.
Bindings
Beschrijft hoe bindingen worden gebruikt om de transport-, coderings- en protocoldetails op te geven die vereist zijn voor clients en services om met elkaar te communiceren.
Contracten
Beschrijft hoe contracten de methoden van een service definiëren.
Procedure: Een service-eindpunt maken in configuratie
Hierin wordt beschreven hoe u een service-eindpunt maakt in de configuratie.
Procedure: Een service-eindpunt maken in code
Hierin wordt beschreven hoe u een service-eindpunt maakt in code.
Procedure: Svcutil.exe gebruiken om gecompileerde servicecode te valideren
Hierin wordt beschreven hoe u fouten in service-implementaties en configuraties detecteert zonder de service te hosten met behulp van het hulpprogramma voor metagegevens van ServiceModel (Svcutil.exe).