Dela via


Översikt över Bindningar för Windows Communication Foundation

Bindningar är objekt som används för att ange den kommunikationsinformation som krävs för att ansluta till slutpunkten för en WCF-tjänst (Windows Communication Foundation). Varje slutpunkt i en WCF-tjänst kräver att en bindning är väl angiven. Det här avsnittet beskriver de typer av kommunikationsinformation som bindningarna definierar, elementen i en bindning, vilka bindningar som ingår i WCF och hur en bindning kan 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 finns informationen som en bindning innehåller om hur du ansluter till en slutpunkt i någon av följande kategorier:

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

Kodning
Avgör meddelandekodningen (till exempel text eller binär).

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

Elementen i en bindning

En bindning består i princip av en ordnad stack med bindningselement, som var och en anger en del av den kommunikationsinformation som krävs för att ansluta till en tjänstslutpunkt. De två lägsta lagren i stacken krävs båda. Vid basen av stacken finns transportbindningselementet och precis ovanför detta är det element som innehåller specifikationerna för meddelandekodning. De valfria bindningselementen som anger de andra kommunikationsprotokollen ligger över dessa två obligatoriska element. Mer information om dessa bindningselement och rätt ordning finns i Anpassade bindningar.

Bindningar som tillhandahålls av systemet

Informationen i en bindning kan vara komplex och vissa inställningar kanske inte är kompatibla med andra. Därför innehåller WCF en uppsättning bindningar som tillhandahålls av systemet. Dessa bindningar är utformade för att täcka de flesta programkrav. Följande klasser representerar några exempel på bindningar som tillhandahålls av systemet:

  • BasicHttpBinding: En HTTP-protokollbindning som lämpar sig för anslutning till webbtjänster som överensstämmer med WS-I Basic Profile-specifikationen (till exempel ASP.NET webbtjänstbaserade tjänster).

  • WSHttpBinding: En samverkande bindning som lämpar sig för anslutning till slutpunkter som överensstämmer med WS-*-protokollen.

  • NetNamedPipeBinding: Använder .NET Framework för att ansluta till andra WCF-slutpunkter på samma dator.

  • NetMsmqBinding: Använder .NET Framework för att skapa köade meddelandeanslutningar med andra WCF-slutpunkter.

  • NetTcpBinding: Den här bindningen ger högre prestanda än HTTP-bindningar och är idealisk för användning i ett lokalt nätverk.

En fullständig lista med beskrivningar av alla bindningar som tillhandahålls av WCF finns i Bindningar som tillhandahålls av systemet.

Använda dina egna bindningar

Om ingen av de systembaserade bindningar som ingår har rätt kombination av funktioner som ett tjänstprogram kräver kan du skapa en egen bindning. Det finns två sätt att göra detta på. Du kan antingen skapa en ny bindning från befintliga bindningselement med hjälp av ett CustomBinding objekt eller skapa en helt användardefinierad bindning genom att härleda från bindningen Binding . Mer information om hur du skapar en egen bindning med dessa två metoder finns i Anpassade bindningar och Skapa användardefinierade 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 de systembaserade bindningar som ingår i WCF och använda den med 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 eller en användardefinierad bindning för att ha högre grad av kontroll och anpassning.

  2. Skapa en slutpunkt som använder bindningen markerad eller definierad.

Kod och konfiguration

Du kan definiera bindningar på två sätt: via kod eller via konfiguration. Dessa två metoder beror inte på om du använder en bindning som tillhandahålls av systemet eller en anpassad bindning. I allmänhet ger användning av kod fullständig kontroll över definitionen av en bindning vid designtillfället. 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 en bindning utan att behöva kompilera om tjänstprogrammet. Den här flexibiliteten är ofta önskvärd eftersom det inte finns något sätt att förutsäga specifika datorkrav som ett WCF-program ska distribueras på. Genom att hålla bindningsinformationen (och adressinformationen) borta från koden kan de ändras utan att programmet behöver omkompileras eller omdistribueras. Observera att bindningar som definierats i kod skapas efter bindningar som anges i konfigurationen, vilket gör att de koddefinierade bindningarna kan skriva över alla konfigurationsdefinierade bindningar.

Se även