A Windows Communication Foundation kötéseinek áttekintése
A kötések olyan objektumok, amelyek a Windows Communication Foundation (WCF) szolgáltatás végpontjaihoz való csatlakozáshoz szükséges kommunikációs adatok megadására szolgálnak. A WCF-szolgáltatás minden végpontja megköveteli a kötések megfelelő megadását. Ez a témakör ismerteti a kötések által definiált kommunikációs részleteket, a kötések elemeit, a WCF-ben szereplő kötéseket, valamint a végpontok kötéseinek megadását.
Mit határoz meg a kötés?
A kötések információi lehetnek nagyon alapszintűek vagy nagyon összetettek. A legalapvetőbb kötés csak a végponthoz való csatlakozáshoz használandó átviteli protokollt (például HTTP-t) határozza meg. Általánosságban elmondható, hogy a kötések által a végpontokhoz való csatlakozással kapcsolatos információk a következő kategóriák egyikébe tartoznak:
Protokollok
Meghatározza a használt biztonsági mechanizmust: a megbízható üzenetkezelési képességet vagy a tranzakciókörnyezet folyamatbeállításait.
Kódolás
Meghatározza az üzenet kódolását (például szöveg vagy bináris).
Közlekedési
Meghatározza a használni kívánt átviteli protokollt (például TCP vagy HTTP).
A kötés elemei
A kötések alapvetően egy rendezett kötegből állnak, amelyek mindegyike meghatározza a szolgáltatásvégponthoz való csatlakozáshoz szükséges kommunikációs információk egy részét. A verem két legalsó rétege szükséges. A verem alapja az átviteli kötési elem, és felette található az üzenetkódolási specifikációkat tartalmazó elem. A többi kommunikációs protokollt meghatározó opcionális kötési elemek a két szükséges elem fölé vannak rétegzve. További információ ezekről a kötéselemekről és azok helyes sorrendjéről: Egyéni kötések.
Rendszer által biztosított kötések
A kötések adatai összetettek lehetnek, és egyes beállítások nem kompatibilisek másokkal. Ezért a WCF rendszer által biztosított kötéseket tartalmaz. Ezek a kötések úgy vannak kialakítva, hogy lefedje a legtöbb alkalmazáskövetelményt. Az alábbi osztályok néhány példát mutatnak a rendszer által biztosított kötésekre:
BasicHttpBinding: Olyan HTTP protokollkötés, amely megfelel a WS-I alapprofil specifikációjának (például ASP.NET webszolgáltatásokon alapuló szolgáltatásoknak) megfelelő webszolgáltatásokhoz való csatlakozáshoz.
WSHttpBinding: A WS-* protokolloknak megfelelő végpontokhoz való csatlakozásra alkalmas interoperábilis kötés.
NetNamedPipeBinding: A .NET-keretrendszer használatával csatlakozik ugyanazon a gépen lévő többi WCF-végponthoz.
NetMsmqBinding: A .NET-keretrendszer használatával üzenetsoros kapcsolatokat hoz létre más WCF-végpontokkal.
NetTcpBinding: Ez a kötés nagyobb teljesítményt nyújt, mint a HTTP-kötések, és ideális helyi hálózaton való használatra.
A WCF által biztosított kötések leírását tartalmazó teljes listát a Rendszer által biztosított kötések című témakörben találja.
Saját kötések használata
Ha egyik rendszer által biztosított kötés sem rendelkezik a szolgáltatásalkalmazás által igényelt funkciók megfelelő kombinációjával, létrehozhat saját kötést. Ezt kétféleképpen teheti meg. Létrehozhat egy új kötést a már meglévő kötéselemekből egy CustomBinding objektum használatával, vagy létrehozhat egy teljesen felhasználó által definiált kötést a Binding kötésből eredően. A saját kötés e két megközelítéssel történő létrehozásáról további információt az Egyéni kötések és a Felhasználó által definiált kötések létrehozása című témakörben talál.
Kötések használata
A kötések használatának két alapvető lépése van:
Válasszon vagy definiáljon egy kötést. A legegyszerűbb módszer a WCF-hez tartozó rendszer által biztosított kötések egyikének kiválasztása és az alapértelmezett beállításokkal való használata. Választhat egy rendszer által biztosított kötést is, és a követelményeknek megfelelően alaphelyzetbe állíthatja a tulajdonságértékeket. Másik lehetőségként létrehozhat egy egyéni kötést vagy egy felhasználó által definiált kötést, hogy magasabb szintű vezérléssel és testreszabással rendelkezzen.
Hozzon létre egy végpontot, amely a kiválasztott vagy definiált kötést használja.
Kód és konfiguráció
A kötéseket kétféleképpen definiálhatja: kódon vagy konfiguráción keresztül. Ez a két módszer nem függ attól, hogy rendszer által biztosított kötést vagy egyéni kötést használ-e. Általánosságban elmondható, hogy a kód használatával teljes mértékben szabályozhatja a kötések definícióját a tervezéskor. A konfigurációval viszont lehetővé teszi, hogy a rendszer rendszergazdája vagy a WCF-szolgáltatás vagy ügyfél felhasználója a szolgáltatásalkalmazás újrafordítása nélkül módosítsa a kötés paramétereit. Ez a rugalmasság gyakran kívánatos, mert nem lehet előrejelezni azokat a gépi követelményeket, amelyeken egy WCF-alkalmazást üzembe kell helyezni. A kötési (és címzési) adatok kódon kívüli megőrzése lehetővé teszi a módosítást anélkül, hogy újrafordítanák vagy újra üzembe helyezik az alkalmazást. Vegye figyelembe, hogy a kódban definiált kötések a konfigurációban megadott kötések után jönnek létre, így a kód által definiált kötések felülírják a konfiguráció által definiált kötéseket.