Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vazby jsou kolekce speciálních konfiguračních prvků označovaných jako prvky vazby, které se vyhodnocují modulem runtime služby při každém vytvoření klienta nebo koncového bodu služby. Typ a pořadí prvků vazby v rámci vazebního procesu určuje výběr a pořadí zásobníku kanálů protokolu a transportních kanálů v zásobníku kanálů koncového bodu.
Vazby, zejména vazby poskytované systémem, mají obvykle také řadu vlastností konfigurace, které odrážejí nejčastěji upravené vlastnosti zapouzdřených prvků vazby.
Vazba musí obsahovat přesně jeden prvek transportní vazby. Každý element vazby přenosu implikuje výchozí element vazby kódování zpráv, který lze přepsat přidáním maximálně jednoho elementu vazby kódování zprávy do vazby. Kromě prvků vazby přenosu a kodéru může vazba obsahovat libovolný počet prvků vazby protokolu, které společně implementují funkce potřebné ke službě a odesílání zpráv SOAP z jednoho koncového bodu do druhého. Podrobnosti najdete v tématu Použití vazeb ke konfiguraci služeb a klientů.
Rozšíření vazeb a elementů vazeb
Windows Communication Foundation (WCF) obsahuje systémové vazby, které pokrývají širokou škálu scénářů. (Další informace najdete v tématu System-Provided Vazby.) Někdy ale potřebujete vytvořit a použít vazbu, která není součástí WCF. Následující scénáře vyžadují vytvoření nové vazby.
Chcete-li použít nový element vazby (například nový transport, kódování nebo element vazby protokolu), musíte vytvořit novou vazbu, která obsahuje tento element vazby. Pokud jste například přidali vlastní
UdpTransportBindingElementpro přenos UDP, budete muset vytvořit nové připojení, abyste ho mohli využít. Informace o provedení tohoto chování pomocí System.ServiceModel.Channels.CustomBinding typu naleznete v tématu Vlastní vazby.Chcete-li nakonfigurovat existující prvky vazby způsobem, který zabrání systémovým vazbám ve zpřístupnění veřejných vlastností. Musíte například vytvořit novou vazbu, která změní pořadí provádění operací podepisování a šifrování. Informace o provedení tohoto chování naleznete v tématu Postupy: Přizpůsobení vazby System-Provided.
Vytvoření podnikových standardních vazeb, které zpřístupňují pouze konkrétní možnosti konfigurace. Například pokud chcete vytvořit variantu WSHttpBinding pro vaši společnost, ve které nelze zakázat zabezpečení, vytvořte novou vazbu, která se chová stejně jako WSHttpBinding, ale se zabezpečením vždy zapnutým. Podrobnosti najdete v tématu Vytváření User-Defined vazeb.
Chcete-li provést určité přizpůsobení metadat, nejčastěji k konfiguraci nebo použití vlastního prvku vazby, ale ne nutně. Další informace o poskytování podpory metadat pro vazby a prvky vazby naleznete v tématu Konfigurace a podpora metadat.
Kanály, vazby a prvky vazby
Vazby a prvky vazby jsou propojením mezi programovacím modelem aplikací, který zahrnuje atributy a chování, a modelem kanálu, který zahrnuje výrobny a naslouchací procesy, kodéry zpráv a implementace přenosu a protokolu. Obvykle se implementují vazbové prvky a vazby, které umožňují, aby kanály používala aplikační vrstva.
Vrstva kanálu předává zprávy do vrstvy služby a přijímá zprávy z vrstvy služby a přenáší tyto zprávy mezi koncovými body. Na klientovi je vrstva kanálu zásobníkem továren kanálů, které vytvářejí kanály ke koncovému bodu sítě. Vrstva kanálů ve službě se skládá z posluchačů kanálů, kteří přijímají kanály přijaté v koncovém bodu sítě.
Existují dva obecné typy kanálů: protokolové kanály a přenosové kanály. Přenosové kanály zodpovídají za skutečný přenos zprávy z jednoho koncového bodu sítě do druhého. Přenosové kanály musí mít výchozí kodér zpráv a měly by být schopné používat alternativní kodér zpráv zadaný prostřednictvím elementu vazby kodéru zpráv. Kodér zpráv zodpovídá za přeměnu System.ServiceModel.Channels.Message na formát pro přenos po síti a naopak. Kanály protokolu zodpovídají za implementaci protokolů na úrovni SOAP (například WS-Security nebo WS-ReliableMessaging).
Primárním požadavkem pro přenosové a protokolové kanály je, že implementují požadovaná rozhraní kanálu. K vytvoření pracovní vrstvy kanálu musí mít přidružené továrny, posluchače, a tak dále. Aby bylo možné použít implementace kanálů z WCF, musí být pro každý kanál přidružené prvky vazeb odvozené z BindingElement a měl by existovat související prvek rozšíření vazby pro zahrnutí do konfiguračních souborů odvozený z BindingElementExtensionElement.
Jak bylo zmíněno dříve, vazební prvky pro kodéry zpráv, protokoly a implementace přenosových kanálů lze naskládat tak, aby vytvořily kanálový zásobník, a mechanismus, který je uspořádá do seřazené sady, je vazba. Vazby a prvky vazby propojují programovací model aplikace s modelem kanálu. Můžete použít implementace kanálů přímo z kódu, ale pokud kodéry, přenosy a protokoly nejsou implementovány jako prvky vazby, nelze je použít v programovacím modelu vrstvy služby.
Podrobnosti o vývoji kanálů a jejich vazeb najdete v tématu Rozšíření vrstvy kanálu.