Konfigurowanie powiązań dostarczanych przez system
Powiązania określają mechanizm komunikacji używany podczas rozmowy z punktem końcowym i wskazują sposób nawiązywania połączenia z punktem końcowym. Powiązania składają się z elementów definiujących sposób warstwy kanałów programu Windows Communication Foundation (WCF), aby zapewnić wymagane funkcje komunikacji. Powiązanie zawiera trzy typy elementów:
Elementy powiązania kanału protokołu, które określają zabezpieczenia, niezawodność, ustawienia przepływu kontekstu lub protokoły zdefiniowane przez użytkownika do użycia z komunikatami wysyłanymi do punktu końcowego.
Elementy powiązania kanału transportu, które określają podstawowy protokół transportu używany podczas wysyłania komunikatów do punktu końcowego, na przykład TCP lub HTTP.
Elementy powiązania kodowania komunikatów, które określają kodowanie przewodu używane dla komunikatów wysyłanych do punktu końcowego, na przykład tekst/XML, binarny lub mechanizm optymalizacji transmisji komunikatów (MTOM).
W tym temacie przedstawiono wszystkie powiązania programu Windows Communication Foundation (WCF). Jeśli żaden z tych elementów nie spełnia dokładnych wymagań aplikacji, możesz utworzyć powiązanie przy użyciu CustomBinding klasy . Aby uzyskać więcej informacji na temat tworzenia powiązań niestandardowych, zobacz Powiązania niestandardowe.
Ważne
Wybierz powiązanie z włączonym zabezpieczeniami. Domyślnie wszystkie powiązania, z wyjątkiem BasicHttpBinding powiązania, mają włączone zabezpieczenia. Jeśli nie wybierzesz bezpiecznego powiązania lub wyłączysz zabezpieczenia, upewnij się, że wymiany sieci są chronione w inny sposób, na przykład w zabezpieczonym centrum danych lub w izolowanej sieci.
Ważne
Nie należy używać kontraktów dwukierunkowych z powiązaniami, które nie obsługują zabezpieczeń lub które mają wyłączone zabezpieczenia, chyba że wymiana sieci jest zabezpieczona w inny sposób.
Wiązania dostarczane przez system
Następujące powiązania są dostarczane z usługą WCF.
Wiązanie | Element konfiguracji | opis |
---|---|---|
BasicHttpBinding | <basicHttpBinding> | Powiązanie, które jest odpowiednie do komunikowania się z usługami sieci Web zgodnymi z profilem WS-Basic, na przykład ASP.NET usługami sieci Web (ASMX). To powiązanie używa protokołu HTTP jako transportu i tekstu/XML jako domyślnego kodowania komunikatów. |
WSHttpBinding | <wsHttpBinding> | Bezpieczne i współdziałające powiązanie, które jest odpowiednie dla kontraktów usług niedupleksowych. |
WS2007HttpBinding | <ws2007HttpBinding> | Bezpieczne i współdziałające powiązanie, które zapewnia obsługę poprawnych Securitywersji elementów , ReliableSessioni TransactionFlow powiązania. |
WSDualHttpBinding | <wsDualHttpBinding> | Bezpieczne i współdziałające powiązanie, które jest odpowiednie dla kontraktów usług dwudupleksowych lub komunikacji za pośrednictwem pośredników SOAP. |
WSFederationHttpBinding | <wsFederationHttpBinding> | Bezpieczne i współdziałające powiązanie, które obsługuje protokół WS-Federation, umożliwiając organizacjom, które znajdują się w federacji w celu wydajnego uwierzytelniania i autoryzowania użytkowników. |
WS2007FederationHttpBinding | <ws2007FederationHttpBinding> | Bezpieczne i współdziałające powiązanie, które pochodzi z WS2007HttpBinding i obsługuje zabezpieczenia federacyjne. |
NetTcpBinding | <Nettcpbinding> | Bezpieczne i zoptymalizowane powiązanie odpowiednie do komunikacji między maszynami między aplikacjami WCF. |
NetNamedPipeBinding | <Netnamedpipebinding> | Bezpieczne, niezawodne, zoptymalizowane powiązanie, które jest odpowiednie do komunikacji między aplikacjami WCF. |
NetMsmqBinding | <Netmsmqbinding> | Powiązanie w kolejce, które jest odpowiednie do komunikacji między maszynami między aplikacjami WCF. |
NetPeerTcpBinding | <Netpeertcpbinding> | Powiązanie, które umożliwia bezpieczną komunikację z wieloma maszynami. |
WebHttpBinding | <webHttpBinding> | Powiązanie używane do konfigurowania punktów końcowych dla usług sieci Web WCF uwidacznianych za pośrednictwem żądań HTTP zamiast komunikatów PROTOKOŁU SOAP. |
MsmqIntegrationBinding | <Msmqintegrationbinding> | Powiązanie, które jest odpowiednie do komunikacji między maszynami między aplikacją WCF i istniejącymi aplikacjami kolejkowania komunikatów (znanym także jako MSMQ). |
Funkcje powiązania
W następnej tabeli przedstawiono niektóre kluczowe funkcje, które są dostarczane przez system. Powiązania są wymienione w pierwszej kolumnie i informacje dotyczące funkcji zostały opisane w tabeli. Poniższa tabela zawiera klucz używanych skrótów powiązań. Aby wybrać powiązanie, określ, która kolumna spełnia wszystkie potrzebne funkcje wiersza.
Wiązanie | Współdziałanie | Tryb zabezpieczeń (ustawienie domyślne) | Sesja (Domyślna) |
Transakcje | Dupleks |
---|---|---|---|---|---|
BasicHttpBinding | Profil podstawowy 1.1 | (Brak), Transport, Message, Mixed | Brak, (Brak) | (Brak) | nie dotyczy |
WSHttpBinding | WS | Brak, Transport, (Komunikat), Mieszany | (Brak), Transport, Reliable Session | (Brak), Tak | nie dotyczy |
WS2007HttpBinding | WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy | Brak, Transport, (Komunikat), Mieszany | (Brak), Transport, Reliable Session | (Brak), Tak | nie dotyczy |
WSDualHttpBinding | WS | Brak, (wiadomość) | (Niezawodna sesja) | (Brak), Tak | Tak |
WSFederationHttpBinding | Usługi federacyjne w sieci Web | None, (Message), Mixed | (Brak), niezawodna sesja | (Brak), Tak | Nie. |
WS2007FederationHttpBinding | Usługi federacyjne w sieci Web | None, (Message), Mixed | (Brak), niezawodna sesja | (Brak), Tak | Nie. |
NetTcpBinding | .NET | Brak, (Transport), Wiadomość, Mieszana |
Niezawodna sesja, (transport) | (Brak), Tak | Tak |
NetNamedPipeBinding | .NET | Brak (Transport) |
Brak, (Transport) | (Brak), Tak | Tak |
NetMsmqBinding | .NET | Brak, Komunikat, (Transport), Oba | (Brak) | (Brak), Tak | Nie. |
NetPeerTcpBinding | Element równorzędny | Brak, Komunikat, (Transport), Mieszany | (Brak) | (Brak) | Tak |
WebHttpBinding | .Net | Brak, Transport, TransportCredentialOnly | (Brak) | (Brak) | nie dotyczy |
MsmqIntegrationBinding | MSMQ | Brak, (Transport) | (Brak) | (Brak), Tak | nie dotyczy |
W poniższej tabeli opisano funkcje znalezione w poprzedniej tabeli.
Funkcja | opis |
---|---|
Typ współdziałania | Nazwij protokół lub technologię, za pomocą której powiązanie zapewnia współdziałanie. |
Zabezpieczenia | Określa sposób zabezpieczania kanału: - Brak: komunikat PROTOKOŁU SOAP nie jest zabezpieczony i klient nie jest uwierzytelniony. - Transport: Wymagania dotyczące zabezpieczeń są spełnione w warstwie transportowej. - Komunikat: Wymagania dotyczące zabezpieczeń są spełnione w warstwie komunikatów. - Mieszane: ten tryb zabezpieczeń jest znany jako TransportWithMessageCredentials . Obsługuje poświadczenia na poziomie komunikatu, a wymagania dotyczące integralności i poufności są spełnione przez warstwę transportu.- Oba: używane są zarówno zabezpieczenia na poziomie komunikatu, jak i na poziomie transportu. Ta możliwość jest unikatowa dla elementu NetMsmqBinding. |
Sesja | Określa, czy to powiązanie obsługuje kontrakty sesji. |
Transakcje | Określa, czy transakcje są włączone. |
Dupleks | Określa, czy kontrakty dwustronne są obsługiwane. Należy pamiętać, że ta funkcja wymaga obsługi sesji w powiązaniu. |
Przesyłanie strumieniowe | Określa, czy przesyłanie strumieniowe komunikatów jest obsługiwane. |