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. |