Dela via


Använda bindningar för att konfigurera tjänster och klienter

Bindningar är objekt som anger den kommunikationsinformation som krävs för att ansluta till en slutpunkt. Mer specifikt innehåller bindningar konfigurationsinformation som används för att skapa klient- eller tjänstkörningen genom att definiera detaljerna för transporter, trådformat (meddelandekodning) och protokoll som ska användas för respektive slutpunkt eller klientkanal. För att skapa en fungerande WCF-tjänst (Windows Communication Foundation) kräver varje slutpunkt i tjänsten en bindning. Det här avsnittet förklarar vad bindningar är, hur de definieras och hur en viss bindning anges för en slutpunkt.

Vad en bindning definierar

Informationen i en bindning kan vara mycket grundläggande eller mycket komplex. Den mest grundläggande bindningen anger endast transportprotokollet (till exempel HTTP) som måste användas för att ansluta till slutpunkten. Mer allmänt innehåller informationen som en bindning innehåller om hur du ansluter till en slutpunkt i någon av kategorierna i följande tabell.

Protokoll
Avgör vilken säkerhetsmekanism som används, antingen tillförlitlig meddelandefunktion eller inställningar för transaktionskontextflöde.

Transport
Avgör det underliggande transportprotokoll som ska användas (till exempel TCP eller HTTP).

Encoding
Avgör meddelandekodningen, till exempel text/XML, binär fil eller mekanism för optimering av meddelandeöverföring (MTOM), som avgör hur meddelanden representeras som byteströmmar på kabeln.

Bindningar som tillhandahålls av systemet

WCF innehåller en uppsättning systembaserade bindningar som är utformade för att täcka de flesta programkrav och scenarier. Följande klasser representerar några exempel på bindningar som tillhandahålls av systemet:

  • BasicHttpBinding: En HTTP-protokollbindning som är lämplig för anslutning till webbtjänster som överensstämmer med WS-I Basic Profile 1.1-specifikationen (till exempel ASP.NET webbtjänster [ASMX]-baserade tjänster).

  • WSHttpBinding: En HTTP-protokollbindning som lämpar sig för anslutning till slutpunkter som överensstämmer med protokollen för webbtjänsters specifikationer.

  • NetNamedPipeBinding: Använder .NET-tekniken för binär kodning och inramning tillsammans med den Windows-namngivna rörtransporten för att ansluta till andra WCF-slutpunkter på samma dator.

  • NetMsmqBinding: Använder .NET-tekniker för binär kodning och inramning tillsammans med Message Queuing (även kallat MSMQ) för att skapa köade meddelandeanslutningar med andra WCF-slutpunkter.

En fullständig lista över bindningar som tillhandahålls av systemet, med beskrivningar, finns i Bindningar som tillhandahålls av systemet.

Anpassade bindningar

Om den systembaserade bindningssamlingen inte har rätt kombination av funktioner som ett tjänstprogram kräver kan du skapa en CustomBinding bindning. Mer information om elementen i en CustomBinding bindning finns i <customBinding> och Anpassade bindningar.

Använda bindningar

Att använda bindningar innebär två grundläggande steg:

  1. Välj eller definiera en bindning. Den enklaste metoden är att välja en av bindningarna som tillhandahålls av systemet och använda standardinställningarna. Du kan också välja en bindning som tillhandahålls av systemet och återställa dess egenskapsvärden efter dina behov. Du kan också skapa en anpassad bindning och ange varje egenskap efter behov.

  2. Skapa en slutpunkt som använder den här bindningen.

Kod och konfiguration

Du kan definiera eller konfigurera bindningar via kod eller konfiguration. Dessa två metoder är oberoende av vilken typ av bindning som används, till exempel om du använder en systembaserad eller en CustomBinding bindning. I allmänhet ger användning av kod fullständig kontroll över definitionen av en bindning när du kompilerar. Med hjälp av konfigurationen kan å andra sidan en systemadministratör eller användare av en WCF-tjänst eller -klient ändra parametrarna för bindningar. Den här flexibiliteten är ofta önskvärd eftersom det inte finns något sätt att förutsäga de specifika datorkrav och nätverksförhållanden som ett WCF-program ska distribueras till. Genom att separera bindningsinformationen (och adresseringsinformationen) från koden kan administratörer ändra bindningsinformationen utan att behöva omkompilera eller distribuera om programmet. Observera att om bindningen definieras i kod skriver den över alla konfigurationsbaserade definitioner som görs i konfigurationsfilen. Exempel på dessa metoder finns i följande avsnitt:

Se även