Dela via


Bindningar som tillhandahålls av systemet

Bindningar anger vilken kommunikationsmekanism som ska användas när du pratar med en slutpunkt och anger hur du ansluter till en slutpunkt. En bindning innehåller följande element:

  • Protokollstacken avgör vilka inställningar för säkerhet, tillförlitlighet och kontextflöde som ska användas för meddelanden som skickas till slutpunkten.

  • Transporten avgör vilket underliggande transportprotokoll som ska användas när meddelanden skickas till slutpunkten, till exempel TCP eller HTTP.

  • Kodningen avgör vilken trådkodning som ska användas för meddelanden som skickas till slutpunkten. Till exempel text/XML, binär eller MTOM (Message Transmission Optimization Mechanism).

Den här artikeln beskriver alla WCF-bindningar (Windows Communication Foundation) som tillhandahålls av systemet. Om ingen av dessa bindningar uppfyller de exakta kriterierna för ditt program kan du skapa en anpassad bindning. Mer information om hur du skapar anpassade bindningar finns i Anpassade bindningar.

En säker och samverkande bindning som stöder WS-Federation-protokollet gör det möjligt för organisationer som är i en federation att effektivt autentisera och auktorisera användare.

Viktigt

Välj alltid en bindning som innehåller säkerhet. Som standard har alla bindningar utom elementet <basicHttpBinding> säkerhet aktiverat. Om du inte väljer en säker bindning eller inaktiverar säkerhet ska du skydda dina data på något annat sätt, till exempel lagring i ett skyddat datacenter eller i ett isolerat nätverk.

Viktigt

Använd aldrig duplexkontrakt med bindningar som inte stöder säkerhet eller som har inaktiverats om du inte skyddar data på något annat sätt.

Följande bindningar levereras med WCF:

Bindning Configuration-element Description
BasicHttpBinding <basicHttpBinding> En bindning som är lämplig för kommunikation med WS-Basic profilanpassade webbtjänster, till exempel ASP.NET webbtjänster (ASMX)-baserade tjänster. Den här bindningen använder HTTP som transport och text/XML som standardkodning av meddelanden.
WSHttpBinding <wsHttpBinding> En säker och samverkande bindning som är lämplig för icke-duplex servicekontrakt.
WSDualHttpBinding <wsDualHttpBinding> En säker och samverkande bindning som lämpar sig för dubbelsidiga servicekontrakt eller kommunikation via SOAP-mellanhänder.
WSFederationHttpBinding <wsFederationHttpBinding> En säker och samverkande bindning som stöder WS-Federation-protokollet, vilket gör det möjligt för organisationer som är i en federation att effektivt autentisera och auktorisera användare.
NetHttpBinding <netHttpBinding> En bindning som är utformad för användning av HTTP- eller WebSocket-tjänster som använder binär kodning som standard.
NetHttpsBinding <netHttpsBinding> En säker bindning utformad för användning av HTTP- eller WebSocket-tjänster som använder binär kodning som standard.
NetTcpBinding <netTcpBinding> En säker och optimerad bindning som lämpar sig för kommunikation mellan datorer mellan WCF-program.
NetNamedPipeBinding <netNamedPipeBinding> En säker, tillförlitlig, optimerad bindning som är lämplig för kommunikation på datorn mellan WCF-program.
NetMsmqBinding <netMsmqBinding> En köbindning som är lämplig för kommunikation mellan datorer mellan WCF-program.
NetPeerTcpBinding <netPeerTcpBinding> En bindning som möjliggör säker kommunikation med flera datorer.
MsmqIntegrationBinding <msmqIntegrationBinding> En bindning som är lämplig för kommunikation mellan datorer mellan ett WCF-program och befintliga Message Queuing-program.
BasicHttpContextBinding <basicHttpContextBinding> En bindning som lämpar sig för kommunikation med WS-Basic profilkonforma webbtjänster som gör att HTTP-cookies kan användas för att utbyta kontext.
NetTcpContextBinding <netTcpContextBinding> En säker och optimerad bindning som lämpar sig för kommunikation mellan datorer mellan WCF-program som gör att SOAP-huvuden kan användas för att utbyta kontext.
WebHttpBinding <webHttpBinding> En bindning som används för att konfigurera slutpunkter för WCF-webbtjänster som exponeras via HTTP-begäranden i stället för SOAP-meddelanden.
WSHttpContextBinding <wsHttpContextBinding> En säker och samverkande bindning som lämpar sig för icke-duplex-tjänstkontrakt som gör att SOAP-huvuden kan användas för att utbyta kontext.
UdpBinding <udpBinding> En bindning som ska användas när du skickar ett antal enkla meddelanden till ett stort antal klienter samtidigt.

I följande tabell visas funktionerna i varje bindning som tillhandahålls av systemet. Bindningarna finns i tabellkolumnerna. funktionerna visas i raderna och beskrivs i en andra tabell. Följande tabell innehåller en nyckel för de bindningsförkortningar som används. Om du vill välja en bindning avgör du vilken kolumn som uppfyller alla radfunktioner du behöver.

Bindning Samverkan Säkerhet (standard) Session
Standard
Transaktioner Duplex Kodning (standard) Strömning
Standard
BasicHttpBinding Grundläggande profil 1.1 (Ingen), transport, meddelande, blandat (Ingen) (Ingen) saknas Text, (MTOM) Yes
(buffrad)
WSHttpBinding WS Transport, (Meddelande), Blandat (Ingen), Tillförlitlig session, säkerhetssession (Ingen), Ja saknas (text), MTOM No
WSDualHttpBinding WS (Meddelande), ingen (Tillförlitlig session), säkerhetssession (Ingen), Ja Yes (text), MTOM No
WSFederationHttpBinding WS-Federation (Meddelande), blandat, inget (Ingen), Tillförlitlig session, säkerhetssession (Ingen), Ja No (text), MTOM No
NetHttpBinding .NET (Ingen), Transport, Message, TransportWithMessageCredential, TransportCredentialOnly Se anteckningen nedan Ingen Se anteckningen nedan (Binär), Text, MTOM Ja (buffrat)
NetHttpsBinding .NET (Transport), TransportWithMessageCredential Se anteckningen nedan Ingen Se anteckningen nedan (Binär), Text, MTOM Yes
(buffrat)
NetTcpBinding .NET (Transport), Message, None, Mixed (Transport), Reliable Session, Security Session (Ingen), Ja Yes Binär Yes
(buffrat)
NetNamedPipeBinding .NET (Transport), Ingen Ingen, (transport) (Ingen), Ja Yes Binär Yes
(buffrat)
NetMsmqBinding .NET Meddelande, (transport), Ingen (Ingen), Transport Ingen, (Ja) No Binär No
NetPeerTcpBinding Peer (Transport) (Ingen) (Ingen) Ja Inga
MsmqIntegrationBinding MSMQ (Transport) (Ingen) Ingen, (Ja) saknas saknas No
BasicHttpContextBinding Grundläggande profil 1.1 (Ingen), Transport, Message, Mixed (Ingen) (Ingen) saknas Text, (MTOM) Yes
(buffrat)
NetTcpContextBinding .NET (Transport), Message, None, Mixed (Transport), Reliable Session, Security Session (Ingen), Ja Yes Binär Yes
(buffrat)
WSHttpContextBinding WS Transport, (Meddelande), Blandat (Ingen), Reliable Session, Security Session (Ingen), Ja saknas Text, (MTOM) No
UdpBinding

Observera: Samverkan kan uppnås genom att implementera standardspecifikationen soap-over-UDP som den här bindningen implementerar.
.NET (Ingen) (Ingen) (Ingen) saknas (Text) No

Viktigt

NetHttpBinding är en bindning som utformats för användning av HTTP- eller WebSocket-tjänster och använder binär kodning som standard. NetHttpBinding identifierar om det används med ett begäran-svar-kontrakt eller duplex-kontrakt och ändrar dess beteende så att det matchar; den använder HTTP för request-reply och WebSockets för duplex. Det här beteendet kan åsidosättas med hjälp av bindningsinställningen WebSocketTransportUsage : WhenDuplex – Det här är standardvärdet och fungerar enligt beskrivningen ovan. Aldrig – Detta förhindrar att WebSockets används. Om du försöker använda ett dubbelsidigt kontrakt med den här inställningen resulterar det i ett undantag. Always – Detta tvingar WebSockets att användas även för begäran-svar-kontrakt. NetHttpBinding stöder tillförlitliga sessioner i både HTTP-läge och WebSocket-läge. I WebSocket-läge tillhandahålls sessioner av transporten.

I följande tabell förklaras de funktioner som anges i föregående tabell.

Funktion Beskrivning
Samverkanstyp Namnger det protokoll eller den teknik som bindningen säkerställer interoperation med.
Säkerhet Anger hur kanalen skyddas:
– Ingen: SOAP-meddelandet är inte skyddat och klienten är inte autentiserad.
- Transport: Säkerhetskrav uppfylls i transportlagret.
– Meddelande: Säkerhetskrav uppfylls på meddelandenivå.
– Blandat: Anspråk förs in i meddelandet. integritets- och konfidentialitetskrav uppfylls av transportlagret.
Session Anger om den här bindningen stöder sessionskontrakt.
Transaktioner Anger om transaktioner är aktiverade.
Duplex Anger om duplexkontrakt stöds. Observera att den här funktionen kräver stöd för sessioner i bindningen.
Kodning Anger meddelandets trådformat. Tillåtna värden är:
- Text: till exempel UTF-8.
-Binära
– Mekanism för optimering av meddelandeöverföring (MTOM): En metod för att effektivt koda binära XML-element inom ramen för ett SOAP-kuvert.
Strömning Anger om direktuppspelning stöds för inkommande och utgående meddelanden. TransferMode Använd egenskapen för bindningen för att ange värdet. De tillåtna värdena är:
- Buffered: Både begärande- och svarsmeddelandena buffrade.
- Streamed: Både begärande- och svarsmeddelanden strömmas.
- StreamedRequest: Begärandemeddelandet strömmas och svarsmeddelandet buffrats.
- StreamedResponse: Begärandemeddelandet buffrat och svarsmeddelandet strömmas.

Se även