Door het systeem geleverde bindingen
Bindingen geven het communicatiemechanisme op dat moet worden gebruikt bij het praten met een eindpunt en geven aan hoe verbinding moet worden gemaakt met een eindpunt. Een binding bevat de volgende elementen:
De protocolstack bepaalt de instellingen voor beveiliging, betrouwbaarheid en contextstroom die moeten worden gebruikt voor berichten die naar het eindpunt worden verzonden.
Het transport bepaalt het onderliggende transportprotocol dat moet worden gebruikt bij het verzenden van berichten naar het eindpunt, bijvoorbeeld TCP of HTTP.
De codering bepaalt de wire-codering die moet worden gebruikt voor berichten die naar het eindpunt worden verzonden. Bijvoorbeeld tekst/XML, binair of Message Transmission Optimization Mechanism (MTOM).
In dit artikel vindt u alle door het systeem geleverde WCF-bindingen (Windows Communication Foundation). Als geen van deze bindingen voldoet aan de exacte criteria voor uw toepassing, kunt u een aangepaste binding maken. Zie Aangepaste bindingen voor meer informatie over het maken van aangepaste bindingen.
Met een veilige en interoperabele binding die het WS-Federation-protocol ondersteunt, kunnen organisaties die zich in een federatie bevinden gebruikers efficiënt verifiëren en autoriseren.
Belangrijk
Selecteer altijd een binding die beveiliging bevat. Standaard is beveiliging ingeschakeld voor alle bindingen behalve het <element basicHttpBinding> . Als u geen beveiligde binding selecteert of beveiliging uitschakelt, moet u uw gegevens op een andere manier beveiligen, zoals opslaan in een beveiligd datacenter of in een geïsoleerd netwerk.
Belangrijk
Gebruik nooit dubbelzijdige contracten met bindingen die geen beveiliging ondersteunen of waarvoor beveiliging is uitgeschakeld, tenzij u de gegevens op een andere manier beveiligt.
De volgende bindingen worden geleverd met WCF:
Binding | Configuratie-element | Beschrijving |
---|---|---|
BasicHttpBinding | <basicHttpBinding> | Een binding die geschikt is voor communicatie met WS-Basic profielconformante webservices, bijvoorbeeld ASP.NET webservices (ASMX). Deze binding gebruikt HTTP als het transport en tekst/XML als de standaardberichtcodering. |
WSHttpBinding | <wsHttpBinding> | Een veilige en interoperabele binding die geschikt is voor non-duplex servicecontracten. |
WSDualHttpBinding | <wsDualHttpBinding> | Een veilige en interoperabele binding die geschikt is voor duplex servicecontracten of communicatie via SOAP-tussenpersonen. |
WSFederationHttpBinding | <wsFederationHttpBinding> | Een veilige en interoperabele binding die het WS-Federation-protocol ondersteunt, waarmee organisaties die zich in een federatie bevinden gebruikers efficiënt kunnen verifiëren en autoriseren. |
NetHttpBinding | <netHttpBinding> | Een binding die is ontworpen voor het gebruik van HTTP- of WebSocket-services die standaard gebruikmaken van binaire codering. |
NetHttpsBinding | <netHttpsBinding> | Een beveiligde binding die is ontworpen voor het gebruik van HTTP- of WebSocket-services die standaard gebruikmaken van binaire codering. |
NetTcpBinding | <netTcpBinding> | Een veilige en geoptimaliseerde binding die geschikt is voor communicatie tussen verschillende machines tussen WCF-toepassingen. |
NetNamedPipeBinding | <netNamedPipeBinding> | Een veilige, betrouwbare, geoptimaliseerde binding die geschikt is voor communicatie op de machine tussen WCF-toepassingen. |
NetMsmqBinding | <netMsmqBinding> | Een binding in de wachtrij die geschikt is voor communicatie tussen meerdere machines tussen WCF-toepassingen. |
NetPeerTcpBinding | <netPeerTcpBinding> | Een binding die veilige communicatie met meerdere machines mogelijk maakt. |
MsmqIntegrationBinding | <msmqIntegrationBinding> | Een binding die geschikt is voor communicatie tussen computers tussen een WCF-toepassing en bestaande Message Queuing-toepassingen. |
BasicHttpContextBinding | <basicHttpContextBinding> | Een binding die geschikt is voor communicatie met WS-Basic profielconformante webservices waarmee HTTP-cookies kunnen worden gebruikt om context uit te wisselen. |
NetTcpContextBinding | <netTcpContextBinding> | Een veilige en geoptimaliseerde binding die geschikt is voor cross-machine communicatie tussen WCF-toepassingen waarmee SOAP-headers kunnen worden gebruikt om context uit te wisselen. |
WebHttpBinding | <webHttpBinding> | Een binding die wordt gebruikt voor het configureren van eindpunten voor WCF-webservices die beschikbaar worden gesteld via HTTP-aanvragen in plaats van SOAP-berichten. |
WSHttpContextBinding | <wsHttpContextBinding> | Een veilige en interoperabele binding die geschikt is voor niet-duplex servicecontracten waarmee SOAP-headers kunnen worden gebruikt om context uit te wisselen. |
UdpBinding | <udpBinding> | Een binding die moet worden gebruikt bij het verzenden van een burst van eenvoudige berichten naar een groot aantal clients tegelijk. |
In de volgende tabel ziet u de functies van elk van de door het systeem geleverde bindingen. De bindingen zijn te vinden in de tabelkolommen; de functies worden weergegeven in de rijen en beschreven in een tweede tabel. De volgende tabel bevat een sleutel voor de gebruikte bindingskortingen. Als u een binding wilt selecteren, bepaalt u welke kolom voldoet aan alle rijfuncties die u nodig hebt.
Binding | Interoperabiliteit | Beveiliging (standaard) | Sessie (standaard) |
Transacties | Duplex | Encoding (standaard) | Streaming (standaard) |
---|---|---|---|---|---|---|---|
BasicHttpBinding | Basisprofiel 1.1 | (Geen), Transport, Bericht, Gemengd | (Geen) | (Geen) | n.v.t. | Tekst, (MTOM) | Yes (gebufferd) |
WSHttpBinding | WS | Transport, (bericht), gemengd | (Geen), Betrouwbare sessie, Beveiligingssessie | (Geen), Ja | n.v.t. | (Tekst), MTOM | Nee |
WSDualHttpBinding | WS | (Bericht), Geen | (Betrouwbare sessie), beveiligingssessie | (Geen), Ja | Yes | (Tekst), MTOM | Nee |
WSFederationHttpBinding | Webservices-federatie | (Bericht), Gemengd, Geen | (Geen), Betrouwbare sessie, Beveiligingssessie | (Geen), Ja | Nee | (Tekst), MTOM | Nee |
NetHttpBinding | .NET | (Geen), Transport, Message, TransportWithMessageCredential, TransportCredentialOnly | Zie opmerking hieronder | Geen | Zie opmerking hieronder | (Binair), Tekst, MTOM | Ja (gebufferd) |
NetHttpsBinding | .NET | (Transport), TransportWithMessageCredential | Zie opmerking hieronder | Geen | Zie opmerking hieronder | (Binair), Tekst, MTOM | Yes (gebufferd) |
NetTcpBinding | .NET | (Transport), Bericht, Geen, Gemengd | (Transport), Betrouwbare sessie, Beveiligingssessie | (Geen), Ja | Yes | Binair | Yes (gebufferd) |
NetNamedPipeBinding | .NET | (Transport), Geen | Geen, (Transport) | (Geen), Ja | Yes | Binair | Yes (gebufferd) |
NetMsmqBinding | .NET | Bericht, (Transport), Geen | (Geen), Transport | Geen, (Ja) | Nee | Binair | Nee |
NetPeerTcpBinding | Peer | (Vervoer) | (Geen) | (Geen) | Ja | Nee | |
MsmqIntegrationBinding | MSMQ | (Vervoer) | (Geen) | Geen, (Ja) | n.v.t. | n.v.t. | Nee |
BasicHttpContextBinding | Basisprofiel 1.1 | (Geen), Transport, Bericht, Gemengd | (Geen) | (Geen) | n.v.t. | Tekst, (MTOM) | Yes (gebufferd) |
NetTcpContextBinding | .NET | (Transport), Bericht, Geen, Gemengd | (Transport), Betrouwbare sessie, Beveiligingssessie | (Geen), Ja | Yes | Binair | Yes (gebufferd) |
WSHttpContextBinding | WS | Transport, (bericht), gemengd | (Geen), Betrouwbare sessie, Beveiligingssessie | (Geen), Ja | n.v.t. | Tekst, (MTOM) | Nee |
UdpBinding Opmerking: Interoperabiliteit kan worden bereikt door de standaard SOAP-over-UDP-specificatie te implementeren die met deze binding wordt geïmplementeerd. |
.NET | (Geen) | (Geen) | (Geen) | n.v.t. | (Tekst) | Nee |
Belangrijk
NetHttpBinding is een binding die is ontworpen voor het gebruik van HTTP- of WebSocket-services en maakt standaard gebruik van binaire codering. NetHttpBinding detecteert of het wordt gebruikt met een aanvraag-antwoordcontract of dubbelzijdig contract en wijzigt het gedrag ervan zodat het overeenkomt; het maakt gebruik van HTTP voor request-reply en WebSockets voor duplex. Dit gedrag kan worden overschreven met behulp van de WebSocketTransportUsage bindingsinstelling: WhenDuplex - Dit is de standaardwaarde en gedraagt zich zoals hierboven is beschreven. Nooit: hiermee voorkomt u dat WebSockets worden gebruikt. Als u een dubbelzijdig contract met deze instelling probeert te gebruiken, resulteert dit in een uitzondering. Altijd: hierdoor worden WebSockets zelfs voor aanvraag-antwoordcontracten gebruikt. NetHttpBinding ondersteunt betrouwbare sessies in zowel de HTTP-modus als de WebSocket-modus. In de WebSocket-modus worden sessies geleverd door het transport.
In de volgende tabel worden de functies in de vorige tabel uitgelegd.
Functie | Beschrijving |
---|---|
Type interoperabiliteit | Noemt het protocol of de technologie waarmee de binding interoperation garandeert. |
Beveiliging | Hiermee geeft u op hoe het kanaal wordt beveiligd: - Geen: het SOAP-bericht is niet beveiligd en de client wordt niet geverifieerd. - Transport: Op de transportlaag wordt voldaan aan de veiligheidseisen. - Bericht: aan de beveiligingsvereisten wordt voldaan op de berichtlaag. - Gemengd: Claims worden in het bericht meegenomen; de transportlaag voldoet aan de integriteits- en vertrouwelijkheidsvereisten. |
Sessie | Hiermee geeft u op of deze binding sessiecontracten ondersteunt. |
Transacties | Hiermee geeft u op of transacties zijn ingeschakeld. |
Duplex | Hiermee geeft u op of dubbelzijdige contracten worden ondersteund. Houd er rekening mee dat deze functie ondersteuning vereist voor sessies in de binding. |
Encoding | Hiermee geeft u de draadindeling van het bericht op. Toegestane waarden zijn onder andere: - Tekst: bijvoorbeeld UTF-8. -Binaire - Message Transmission Optimization Mechanism (MTOM): een methode voor het efficiënt coderen van binaire XML-elementen binnen de context van een SOAP-envelop. |
Streaming | Hiermee geeft u op of streaming wordt ondersteund voor inkomende en uitgaande berichten. Gebruik de TransferMode eigenschap voor de binding om de waarde in te stellen. De toegestane waarden zijn onder andere:- Buffered: de aanvraag- en antwoordberichten worden beide gebufferd. - Streamed: de aanvraag- en antwoordberichten worden beide gestreamd. - StreamedRequest: het aanvraagbericht wordt gestreamd en het antwoordbericht wordt gebufferd. - StreamedResponse: het aanvraagbericht wordt gebufferd en het antwoordbericht wordt gestreamd. |