Vazby ve Windows Communication Foundation – přehled
Vazby jsou objekty, které slouží k určení podrobností komunikace, které jsou potřeba pro připojení ke koncovému bodu služby Wcf (Windows Communication Foundation). Každý koncový bod ve službě WCF vyžaduje, aby byla dobře zadaná vazba. Toto téma popisuje typy podrobností komunikace, které vazby definují, prvky vazby, jaké vazby jsou součástí WCF a jak lze vazbu zadat pro koncový bod.
Co vazba definuje
Informace v vazbě můžou být velmi základní nebo velmi složité. Nejzákladnější vazba určuje pouze přenosový protokol (například HTTP), který se musí použít pro připojení ke koncovému bodu. Obecně platí, že informace, které vazba obsahuje o tom, jak se připojit ke koncovému bodu, spadá do jedné z následujících kategorií:
Protokoly
Určuje použitý mechanismus zabezpečení: buď spolehlivé možnosti zasílání zpráv, nebo nastavení toku kontextu transakce.
Kódování
Určuje kódování zpráv (například text nebo binární soubor).
Přeprava
Určuje základní přenosový protokol, který se má použít (například TCP nebo HTTP).
Prvky vazby
Vazba se v podstatě skládá z uspořádaného zásobníku prvků vazby, z nichž každá určuje část komunikačních informací potřebných pro připojení ke koncovému bodu služby. Vyžadují se dvě nejnižší vrstvy v zásobníku. Základem zásobníku je prvek vazby přenosu a těsně nad tím je prvek, který obsahuje specifikace kódování zpráv. Volitelné prvky vazby, které určují ostatní komunikační protokoly, jsou vrstvené nad těmito dvěma požadovanými prvky. Další informace o těchto prvcích vazby a jejich správném pořadí naleznete v tématu Vlastní vazby.
Vazby poskytované systémem
Informace ve vazbě můžou být složité a některá nastavení nemusí být kompatibilní s ostatními. Z tohoto důvodu WCF obsahuje sadu systémových vazeb. Tyto vazby jsou navržené tak, aby pokrývala většinu požadavků aplikace. Následující třídy představují některé příklady systémových vazeb:
BasicHttpBinding: Vazba protokolu HTTP vhodná pro připojení k webovým službám, které odpovídají specifikaci základního profilu WS-I (například ASP.NET webových služeb).
WSHttpBinding: Interoperabilní vazba vhodná pro připojení ke koncovým bodům, které odpovídají protokolům WS-*.
NetNamedPipeBinding: Používá rozhraní .NET Framework pro připojení k jiným koncovým bodům WCF na stejném počítači.
NetMsmqBinding: Používá rozhraní .NET Framework k vytvoření připojení zpráv ve frontě s jinými koncovými body WCF.
NetTcpBinding: Tato vazba nabízí vyšší výkon než vazby HTTP a je ideální pro použití v místní síti.
Úplný seznam s popisy všech vazeb poskytovaných WCF naleznete v tématu Vazby poskytované systémem.
Použití vlastních vazeb
Pokud žádná ze systémových vazeb nemá správnou kombinaci funkcí, které aplikace služby vyžaduje, můžete vytvořit vlastní vazbu. Můžete to provést dvěma způsoby. Můžete buď vytvořit novou vazbu z již existujících prvků vazby pomocí objektu CustomBinding , nebo můžete vytvořit zcela uživatelsky definovanou vazbu odvozením z vazby Binding . Další informace o vytváření vlastních vazeb pomocí těchto dvou přístupů najdete v tématu Vlastní vazby a Vytváření uživatelsky definovaných vazeb.
Použití vazeb
Použití vazeb zahrnuje dva základní kroky:
Vyberte nebo definujte vazbu. Nejjednodušší metodou je zvolit jednu ze systémových vazeb, které jsou součástí WCF, a použít ji s výchozím nastavením. Můžete také zvolit vazbu poskytovanou systémem a obnovit její hodnoty vlastností tak, aby vyhovovaly vašim požadavkům. Alternativně můžete vytvořit vlastní vazbu nebo uživatelem definovanou vazbu, která bude mít vyšší stupeň řízení a přizpůsobení.
Vytvořte koncový bod, který používá vybranou nebo definovanou vazbu.
Kód a konfigurace
Vazby můžete definovat dvěma způsoby: prostřednictvím kódu nebo prostřednictvím konfigurace. Tyto dva přístupy nezávisí na tom, jestli používáte systémovou vazbu nebo vlastní vazbu. Obecně platí, že použití kódu poskytuje úplnou kontrolu nad definicí vazby v době návrhu. Na druhou stranu umožňuje správci systému nebo uživateli služby WCF nebo klienta změnit parametry vazby, aniž by bylo nutné aplikaci služby znovu zkompilovat. Tato flexibilita je často žádoucí, protože neexistuje způsob, jak předpovědět specifické požadavky na počítače, na které se má aplikace WCF nasadit. Udržování informací o vazbě (a adresování) mimo kód umožňuje jejich změnu bez nutnosti opětovného kompilace nebo opětovného nasazení aplikace. Všimněte si, že vazby definované v kódu se vytvářejí po vazbách zadaných v konfiguraci, což umožňuje, aby vazby definované kódem přepsaly všechny vazby definované konfigurací.