Delen via


Overzicht van Windows Communication Foundation-bindingen

Bindingen zijn objecten die worden gebruikt om de communicatiedetails op te geven die nodig zijn om verbinding te maken met het eindpunt van een WCF-service (Windows Communication Foundation). Voor elk eindpunt in een WCF-service moet een binding worden opgegeven. In dit onderwerp worden de typen communicatiedetails beschreven die door de bindingen worden gedefinieerd, de elementen van een binding, welke bindingen zijn opgenomen in WCF en hoe een binding kan worden opgegeven voor een eindpunt.

Wat een binding definieert

De informatie in een binding kan heel eenvoudig of zeer complex zijn. De meest eenvoudige binding geeft alleen het transportprotocol (zoals HTTP) op dat moet worden gebruikt om verbinding te maken met het eindpunt. Over het algemeen valt de informatie die een binding bevat over het maken van verbinding met een eindpunt in een van de volgende categorieën:

Protocollen
Bepaalt het beveiligingsmechanisme dat wordt gebruikt: betrouwbare berichtenfunctie of instellingen voor transactiecontextstroom.

Codering
Bepaalt de berichtcodering (bijvoorbeeld tekst of binair).

Transport
Bepaalt het onderliggende transportprotocol dat moet worden gebruikt (bijvoorbeeld TCP of HTTP).

De elementen van een binding

Een binding bestaat in feite uit een geordende stapel bindingselementen, die elk een deel van de communicatie-informatie specificeert die nodig is om verbinding te maken met een service-eindpunt. De twee laagste lagen in de stack zijn beide vereist. Aan de basis van de stack bevindt zich het transportbindingselement en net boven dit is het element dat de berichtcoderingsspecificaties bevat. De optionele bindingselementen die de andere communicatieprotocollen opgeven, worden gelaagd boven deze twee vereiste elementen. Zie Aangepaste bindingen voor meer informatie over deze bindingselementen en de juiste volgorde.

Door het systeem geleverde bindingen

De informatie in een binding kan complex zijn en sommige instellingen zijn mogelijk niet compatibel met anderen. Daarom bevat WCF een set door het systeem geleverde bindingen. Deze bindingen zijn ontworpen om de meeste toepassingsvereisten te dekken. De volgende klassen vertegenwoordigen enkele voorbeelden van door het systeem geleverde bindingen:

  • BasicHttpBinding: Een HTTP-protocolbinding die geschikt is om verbinding te maken met webservices die voldoen aan de WS-I Basic Profile-specificatie (bijvoorbeeld ASP.NET webservices).

  • WSHttpBinding: Een interoperabele binding die geschikt is om verbinding te maken met eindpunten die voldoen aan de WS-*-protocollen.

  • NetNamedPipeBinding: gebruikt .NET Framework om verbinding te maken met andere WCF-eindpunten op dezelfde computer.

  • NetMsmqBinding: maakt gebruik van .NET Framework om berichtenverbindingen in de wachtrij te maken met andere WCF-eindpunten.

  • NetTcpBinding: Deze binding biedt hogere prestaties dan HTTP-bindingen en is ideaal voor gebruik in een lokaal netwerk.

Zie Door het systeem geleverde bindingen voor een volledige lijst met beschrijvingen van alle door WCF geleverde bindingen.

Uw eigen bindingen gebruiken

Als geen van de door het systeem geleverde bindingen de juiste combinatie heeft van functies die een servicetoepassing nodig heeft, kunt u uw eigen binding maken. Er zijn twee manieren om dit te doen. U kunt een nieuwe binding maken op basis van bestaande bindingselementen met behulp van een CustomBinding object of u kunt een volledig door de Binding gebruiker gedefinieerde binding maken door de binding af te leiden. Zie Aangepaste bindingen maken en door de gebruiker gedefinieerde bindingen maken voor meer informatie over het maken van uw eigen binding met deze twee benaderingen.

Bindingen gebruiken

Het gebruik van bindingen omvat twee basisstappen:

  1. Selecteer of definieer een binding. De eenvoudigste methode is om een van de door het systeem geleverde bindingen te kiezen die deel uitmaken van WCF en deze te gebruiken met de standaardinstellingen. U kunt ook een door het systeem geleverde binding kiezen en de eigenschapswaarden opnieuw instellen op basis van uw vereisten. U kunt ook een aangepaste binding of een door de gebruiker gedefinieerde binding maken om een hogere mate van controle en aanpassing te hebben.

  2. Maak een eindpunt dat gebruikmaakt van de geselecteerde of gedefinieerde binding.

Code en configuratie

U kunt bindingen op twee manieren definiëren: via code of via configuratie. Deze twee benaderingen zijn niet afhankelijk van of u een door het systeem geleverde binding of een aangepaste binding gebruikt. Over het algemeen geeft het gebruik van code u volledige controle over de definitie van een binding tijdens het ontwerp. Met behulp van configuratie kan een systeembeheerder of de gebruiker van een WCF-service of -client de parameters van een binding wijzigen zonder de servicetoepassing opnieuw te compileren. Deze flexibiliteit is vaak wenselijk omdat er geen manier is om specifieke machinevereisten te voorspellen waarop een WCF-toepassing moet worden geïmplementeerd. Door de bindingsinformatie (en de adressering) uit de code te houden, kunnen ze worden gewijzigd zonder dat ze de toepassing opnieuw hoeven te compileren of opnieuw te implementeren. Houd er rekening mee dat bindingen die in code zijn gedefinieerd, worden gemaakt nadat bindingen die zijn opgegeven in de configuratie, waardoor de door code gedefinieerde bindingen alle door configuratie gedefinieerde bindingen kunnen overschrijven.

Zie ook