Anpassade bindningar
Du kan använda CustomBinding klassen när en av bindningarna som tillhandahålls av systemet inte uppfyller kraven för din tjänst. Alla bindningar skapas från en ordnad uppsättning bindningselement. Anpassade bindningar kan skapas från en uppsättning bindningselement som tillhandahålls av systemet eller kan innehålla användardefinierade anpassade bindningselement. Du kan till exempel använda anpassade bindningselement för att aktivera användning av nya transporter eller kodare vid en tjänstslutpunkt. Arbetsexempel finns i Anpassade bindningsexempel. Mer information finns i customBinding>.<
Konstruktion av en anpassad bindning
En anpassad bindning skapas med konstruktorn CustomBinding från en samling bindningselement som är "staplade" i en viss ordning:
Högst upp finns en valfri TransactionFlowBindingElement klass som tillåter flödande transaktioner.
Nästa är en valfri ReliableSessionBindingElement klass som tillhandahåller en sessions- och beställningsmekanism enligt definitionen i WS-ReliableMessaging-specifikationen. En session kan korsa SOAP och transportförmedlare.
Nästa är en valfri SecurityBindingElement klass som tillhandahåller säkerhetsfunktioner som auktorisering, autentisering, skydd och konfidentialitet.
Nästa är en valfri CompositeDuplexBindingElement klass som ger möjlighet att ha dubbelriktad duplexkommunikation med ett transportprotokoll som inte stöder duplex-kommunikation internt, till exempel HTTP.
Nästa är en valfri OneWayBindingElement) -klass som tillhandahåller enkelriktad kommunikation.
Nästa är ett valfritt dataströmsäkerhetsbindningselement som kan vara något av följande.
Nästa är ett obligatoriskt meddelandekodningsbindningselement. Du kan använda din egen meddelandekodare eller någon av de tre meddelandekodningsbindningarna:
Längst ned finns ett obligatoriskt transportelement. Du kan använda din egen transport eller något av följande transportbindningselement som Windows Communication Foundation (WCF) tillhandahåller:
I följande tabell sammanfattas alternativen för varje lager.
Skikt | Alternativ | Obligatoriskt |
---|---|---|
Transaktioner | TransactionFlowBindingElement | Nej |
Tillförlitlighet | ReliableSessionBindingElement | Nej |
Säkerhet | SecurityBindingElement | Nej |
Encoding | MTOM (Text, binary, Message Transmission Optimization Mechanism), anpassad | Ja |
Transport | TCP, HTTP, HTTPS, namngivna pipes (kallas även IPC), Peer-to-Peer (P2P), Message Queuing (även kallat MSMQ), Custom | Ja |
Dessutom kan du definiera dina egna bindningselement och infoga dem mellan något av de föregående definierade lagren.