Konfigurera 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. Bindningar består av element som definierar hur WCF-kanalerna (Windows Communication Foundation) läggs på lager för att tillhandahålla de kommunikationsfunktioner som krävs. En bindning innehåller tre typer av element:
Protokollkanalbindningselement som bestämmer säkerhet, tillförlitlighet, inställningar för kontextflöde eller användardefinierade protokoll som ska användas med meddelanden som skickas till slutpunkten.
Bindningselement för transportkanalen, som avgör vilket underliggande transportprotokoll som ska användas när meddelanden skickas till slutpunkten, till exempel TCP eller HTTP.
Bindningselement för meddelandekodning, som avgör vilken trådkodning som ska användas för meddelanden som skickas till slutpunkten, till exempel text/XML, binär kodning eller MTOM (Message Transmission Optimization Mechanism).
I det här avsnittet beskrivs alla WCF-bindningar (System-Provided Windows Communication Foundation). Om inget av dessa uppfyller de exakta kraven för ditt program kan du skapa en bindning med hjälp av CustomBinding klassen . Mer information om hur du skapar anpassade bindningar finns i Anpassade bindningar.
Viktigt!
Välj en bindning som har säkerhetsaktiverad. Som standard har alla bindningar, förutom bindningen BasicHttpBinding , säkerhet aktiverat. Om du inte väljer en säker bindning, eller om du inaktiverar säkerheten, bör du se till att nätverksutbytena skyddas på något annat sätt, till exempel att vara i ett skyddat datacenter eller i ett isolerat nätverk.
Viktigt!
Använd inte duplexkontrakt med bindningar som inte stöder säkerhet eller som har inaktiverat säkerheten, såvida inte nätverksutbytet skyddas på något annat sätt.
Bindningar som tillhandahålls av systemet
Följande bindningar levereras med WCF.
Bindning | Configuration-element | beskrivning |
---|---|---|
BasicHttpBinding | <basicHttpBinding> | En bindning som är lämplig för kommunikation med WS-Basic-profilkonforma 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 driftskompatibel bindning som lämpar sig för icke-duplex-tjänstkontrakt. |
WS2007HttpBinding | <ws2007HttpBinding> | En säker och driftskompatibel bindning som ger stöd för rätt versioner av elementen Security, ReliableSessionoch TransactionFlow bindning. |
WSDualHttpBinding | <wsDualHttpBinding> | En säker och samverkande bindning som lämpar sig för dubbelsidiga serviceavtal 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. |
WS2007FederationHttpBinding | <ws2007FederationHttpBinding> | En säker och driftskompatibel bindning som härleds från WS2007HttpBinding och stöder federerad säkerhet. |
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 lämpar sig för kommunikation på datorn mellan WCF-program. |
NetMsmqBinding | <netMsmqBinding> | En köbindning som lämpar sig för kommunikation mellan datorer mellan WCF-program. |
NetPeerTcpBinding | <netPeerTcpBinding> | En bindning som möjliggör säker kommunikation med flera datorer. |
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. |
MsmqIntegrationBinding | <msmqIntegrationBinding> | En bindning som är lämplig för kommunikation mellan datorer mellan ett WCF-program och befintliga Message Queuing-program (kallas även MSMQ). |
Bindningsfunktioner
I nästa tabell visas några av de viktigaste funktionerna för var och en av de bindningar som tillhandahålls av systemet. Bindningarna visas i den första kolumnen och information om funktionerna beskrivs i tabellen. 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äkerhetsläge (standard) | Session (Standard) |
Transaktioner | Duplex |
---|---|---|---|---|---|
BasicHttpBinding | Grundläggande profil 1.1 | (Ingen), transport, meddelande, blandad | Ingen, (ingen) | (Ingen) | saknas |
WSHttpBinding | WS | None, Transport, (Message), Mixed | (Ingen), transport, tillförlitlig session | (Ingen), Ja | saknas |
WS2007HttpBinding | WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy | None, Transport, (Message), Mixed | (Ingen), transport, tillförlitlig session | (Ingen), Ja | saknas |
WSDualHttpBinding | WS | Ingen, (meddelande) | (Tillförlitlig session) | (Ingen), Ja | Ja |
WSFederationHttpBinding | WS-Federation | None, (Message), Mixed | (Ingen), Tillförlitlig session | (Ingen), Ja | Nej |
WS2007FederationHttpBinding | WS-Federation | None, (Message), Mixed | (Ingen), Tillförlitlig session | (Ingen), Ja | Nej |
NetTcpBinding | .NET | None, (Transport), Message, Blandat |
Reliable Session, (Transport) | (Ingen), Ja | Ja |
NetNamedPipeBinding | .NET | Ingen (Transport) |
Ingen, (transport) | (Ingen), Ja | Ja |
NetMsmqBinding | .NET | Ingen, Meddelande, (transport), Båda | (Ingen) | (Ingen), Ja | Nej |
NetPeerTcpBinding | Peer | None, Message, (Transport), Mixed | (Ingen) | (Ingen) | Ja |
WebHttpBinding | .Net | Ingen, Transport, TransportCredentialOnly | (Ingen) | (Ingen) | saknas |
MsmqIntegrationBinding | MSMQ | Ingen, (transport) | (Ingen) | (Ingen), Ja | saknas |
I följande tabell beskrivs de funktioner som finns 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 på transportlagret. – Meddelande: Säkerhetskrav uppfylls på meddelandelagret. – Blandat: Det här säkerhetsläget kallas TransportWithMessageCredentials . Den hanterar autentiseringsuppgifter på meddelandenivå och integritets- och konfidentialitetskraven uppfylls av transportlagret.- Båda: Både meddelandenivå och säkerhet på transportnivå används. Den här möjligheten är unik för NetMsmqBinding. |
Session | Anger om den här bindningen stöder sessionskontrakt. |
Transaktioner | Anger om transaktioner är aktiverade. |
Duplex | Anger om duplex-kontrakt stöds. Observera att den här funktionen kräver stöd för sessioner i bindningen. |
Strömning | Anger om meddelandeströmningen stöds. |