Vazby poskytované systémem

Vazby určují komunikační mechanismus, který se má použít při komunikaci s koncovým bodem, a označují, jak se připojit ke koncovému bodu. Vazba obsahuje následující prvky:

  • Zásobník protokolů určuje nastavení zabezpečení, spolehlivosti a toku kontextu, které se mají použít pro zprávy odesílané do koncového bodu.

  • Přenos určuje podkladový přenosový protokol, který se má použít při odesílání zpráv do koncového bodu, například TCP nebo HTTP.

  • Kódování určuje kódování drátu, které se má použít pro zprávy odesílané do koncového bodu. Například text/XML, binární nebo mechanismus optimalizace přenosu zpráv (MTOM).

Tento článek představuje všechny vazby WCF (Windows Communication Foundation) poskytované systémem. Pokud žádná z těchto vazeb nesplňuje přesná kritéria pro vaši aplikaci, můžete vytvořit vlastní vazbu. Další informace o vytváření vlastních vazeb najdete v tématu Vlastní vazby.

Zabezpečená a interoperabilní vazba, která podporuje protokol WS-Federation, umožňuje organizacím, které jsou ve federaci, efektivně ověřovat a autorizovat uživatele.

Důležité

Vždy vyberte vazbu, která obsahuje zabezpečení. Ve výchozím nastavení mají všechny vazby kromě elementu <basicHttpBinding> povolené zabezpečení. Pokud nevyberete zabezpečenou vazbu nebo nezakážete zabezpečení, nezapomeňte chránit data jiným způsobem, například ukládáním v zabezpečeném datacentru nebo v izolované síti.

Důležité

Nikdy nepoužívejte duplexní kontrakty s vazbami, které nepodporují zabezpečení nebo mají zakázané zabezpečení, pokud data nezabezpečíte jiným způsobem.

Následující vazby se dodávají s WCF:

Vazba Konfigurační element Description
BasicHttpBinding <basicHttpBinding> Vazba, která je vhodná pro komunikaci s webovými službami v souladu s WS-Basic profilem, například službami založenými na ASP.NET webových služeb (ASMX). Tato vazba používá http jako přenos a text/XML jako výchozí kódování zprávy.
WSHttpBinding <wsHttpBinding> Bezpečná a interoperabilní vazba, která je vhodná pro ne duplexní kontrakty služeb.
WSDualHttpBinding <wsDualHttpBinding> Bezpečná a interoperabilní vazba, která je vhodná pro duplexní servisní smlouvy nebo komunikaci prostřednictvím zprostředkovatelů SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Zabezpečená a interoperabilní vazba, která podporuje protokol WS-Federation, který organizacím, které jsou ve federaci, umožňuje efektivně ověřovat a autorizovat uživatele.
NetHttpBinding <netHttpBinding> Vazba určená pro využívání služeb HTTP nebo WebSocket, které ve výchozím nastavení používají binární kódování.
NetHttpsBinding <netHttpsBinding> Zabezpečená vazba určená pro využívání služeb HTTP nebo WebSocket, které ve výchozím nastavení používají binární kódování.
NetTcpBinding <Nettcpbinding> Zabezpečená a optimalizovaná vazba vhodná pro komunikaci mezi aplikacemi WCF mezi počítači.
NetNamedPipeBinding <netNamedPipeBinding> Zabezpečená, spolehlivá a optimalizovaná vazba, která je vhodná pro komunikaci mezi aplikacemi WCF na počítači.
NetMsmqBinding <Netmsmqbinding> Vazba ve frontě, která je vhodná pro komunikaci mezi počítači mezi aplikacemi WCF.
NetPeerTcpBinding <netPeerTcpBinding> Vazba, která umožňuje zabezpečenou komunikaci s více počítači.
MsmqIntegrationBinding <msmqIntegrationBinding> Vazba, která je vhodná pro komunikaci mezi aplikacemi WCF a existujícími aplikacemi služby Řízení front zpráv.
BasicHttpContextBinding <basicHttpContextBinding> Vazba vhodná pro komunikaci s webovými službami vyhovujícími profilu WS-Basic, které umožňují použití souborů COOKIE PROTOKOLU HTTP k výměně kontextu.
NetTcpContextBinding <netTcpContextBinding> Zabezpečená a optimalizovaná vazba vhodná pro komunikaci mezi aplikacemi WCF mezi počítači, která umožňuje použití hlaviček SOAP k výměně kontextu.
WebHttpBinding <webHttpBinding> Vazba používaná ke konfiguraci koncových bodů pro webové služby WCF, které jsou zpřístupněny prostřednictvím požadavků HTTP místo zpráv SOAP.
WSHttpContextBinding <wsHttpContextBinding> Zabezpečená a interoperabilní vazba vhodná pro ne duplexní kontrakty služby, která umožňuje použití hlaviček SOAP k výměně kontextu.
UdpBinding <udpBinding> Vazba, která se má použít při odesílání shluku jednoduchých zpráv velkému počtu klientů současně.

Následující tabulka ukazuje funkce každé ze systémově poskytovaných vazeb. Vazby se nacházejí ve sloupcích tabulky. funkce jsou uvedeny v řádcích a popsány v druhé tabulce. Následující tabulka obsahuje klíč pro použité zkratky vazeb. Pokud chcete vybrat vazbu, určete, který sloupec splňuje všechny funkce řádku, které potřebujete.

Vazba Vzájemná funkční spolupráce Zabezpečení (výchozí) Relace
(Výchozí)
Transakce Duplex Kódování (výchozí) Streamování
(Výchozí)
BasicHttpBinding Základní profil 1.1 (Žádný), Transport, Message, Mixed (None) (None) Není k dispozici Text, (MTOM) Yes
(ve vyrovnávací paměti)
WSHttpBinding WS Transport, (Message), Mixed (Žádné), spolehlivá relace, relace zabezpečení (Žádné), Ano Není k dispozici (Text), MTOM No
WSDualHttpBinding WS (Zpráva), Žádné (Spolehlivá relace), Relace zabezpečení (Žádné), Ano Yes (Text), MTOM No
WSFederationHttpBinding WS-Federation (Zpráva), Smíšené, Žádné (Žádné), spolehlivá relace, relace zabezpečení (Žádné), Ano No (Text), MTOM No
NetHttpBinding .NET (None), Transport, Message, TransportWithMessageCredential, TransportCredentialOnly Viz poznámka níže. Žádné Viz poznámka níže. (binární), Text, MTOM Ano (ve vyrovnávací paměti)
NetHttpsBinding .NET (Transport), TransportWithMessageCredential Viz poznámka níže. Žádné Viz poznámka níže. (binární), Text, MTOM Yes
(ve vyrovnávací paměti)
NetTcpBinding .NET (Transport), Message, None, Mixed (přenos), spolehlivá relace, relace zabezpečení (Žádné), Ano Yes Binární Yes
(ve vyrovnávací paměti)
NetNamedPipeBinding .NET (Transport), Žádný Žádný (transport) (Žádné), Ano Yes Binární Yes
(ve vyrovnávací paměti)
NetMsmqBinding .NET Message, (Transport), None (Žádný), Přenos Žádný, (Ano) No Binární No
NetPeerTcpBinding Partnerská (Transport) (None) (None) Yes No
MsmqIntegrationBinding MSMQ (Transport) (None) Žádný, (Ano) Není k dispozici Není k dispozici No
BasicHttpContextBinding Základní profil 1.1 (Žádný), Přenos, Zpráva, Smíšený (None) (None) Není k dispozici Text, (MTOM) Yes
(ve vyrovnávací paměti)
NetTcpContextBinding .NET (Transport), Message, None, Mixed (přenos), spolehlivá relace, relace zabezpečení (Žádné), Ano Yes Binární Yes
(ve vyrovnávací paměti)
WSHttpContextBinding WS Transport, (Message), Mixed (Žádné), spolehlivá relace, relace zabezpečení (Žádné), Ano Není k dispozici Text, (MTOM) No
UdpBinding

Poznámka: Interoperability lze dosáhnout implementací standardní specifikace SOAP-over-UDP, kterou tato vazba implementuje.
.NET (None) (None) (None) Není k dispozici (Text) No

Důležité

NetHttpBinding je vazba určená pro využívání služeb HTTP nebo WebSocket a ve výchozím nastavení používá binární kódování. NetHttpBinding zjistí, zda se používá se kontraktem požadavek-odpověď nebo duplexním kontraktem a změní jeho chování tak, aby odpovídalo; Používá http pro požadavek a odpověď a WebSocket pro duplex. Toto chování lze přepsat pomocí WebSocketTransportUsage nastavení vazby: WhenDuplex – Toto je výchozí hodnota a chová se výše popsaným způsobem. Nikdy – Zabrání použití protokolu WebSocket. Při pokusu o použití duplexního kontraktu s tímto nastavením dojde k výjimce. Vždy – To vynutí použití protokolu WebSocket i pro kontrakty požadavek-odpověď. NetHttpBinding podporuje spolehlivé relace v režimu HTTP i v režimu WebSocket. V režimu WebSocket jsou relace poskytovány přenosem.

Následující tabulka vysvětluje funkce uvedené v předchozí tabulce.

Funkce Popis
Typ interoperability Pojmenuje protokol nebo technologii, se kterou vazba zajišťuje spolupráci.
Zabezpečení Určuje způsob zabezpečení kanálu:
– Žádné: Zpráva SOAP není zabezpečená a klient není ověřený.
- Transport: Požadavky na zabezpečení jsou splněny na přenosové vrstvě.
– Zpráva: Požadavky na zabezpečení jsou splněny ve vrstvě zpráv.
- Smíšené: Ve zprávě se přenášejí deklarace; požadavky na integritu a důvěrnost splňuje vrstva přenosu.
Relace Určuje, jestli tato vazba podporuje kontrakty relací.
Transakce Určuje, zda jsou povoleny transakce.
Duplex Určuje, jestli se podporují duplexní kontrakty. Všimněte si, že tato funkce vyžaduje podporu relací ve vazbě.
Encoding Určuje formát přenosu zprávy. Mezi povolené hodnoty patří:
- Text: například UTF-8.
-Binární
- Mechanismus optimalizace přenosu zpráv (MTOM): Metoda pro efektivní kódování binárních elementů XML v kontextu obálky SOAP.
Streamování Určuje, jestli se podporuje streamování příchozích a odchozích zpráv. TransferMode K nastavení hodnoty použijte vlastnost vazby. Mezi povolené hodnoty patří:
- Buffered: Zpráva požadavku i odpovědi jsou ve vyrovnávací paměti.
- Streamed: Zpráva žádosti i odpovědi se streamují.
- StreamedRequest: Zpráva požadavku se streamuje a zpráva odpovědi je uložena do vyrovnávací paměti.
- StreamedResponse: Zpráva požadavku je uložena do vyrovnávací paměti a zpráva odpovědi se streamuje.

Viz také