Omówienie powiązań WCF (Windows Communication Foundation)

Powiązania to obiekty używane do określania szczegółów komunikacji wymaganych do nawiązania połączenia z punktem końcowym usługi Windows Communication Foundation (WCF). Każdy punkt końcowy w usłudze WCF wymaga, aby powiązanie było dobrze określone. W tym temacie opisano typy szczegółów komunikacji definiowanych przez powiązania, elementy powiązania, powiązania zawarte w programie WCF oraz sposób określania powiązania dla punktu końcowego.

Co definiuje powiązanie

Informacje w powiązaniu mogą być bardzo podstawowe lub bardzo złożone. Najbardziej podstawowe powiązanie określa tylko protokół transportu (taki jak HTTP), który musi być używany do nawiązywania połączenia z punktem końcowym. Ogólnie rzecz biorąc, informacje zawarte w powiązaniu dotyczą sposobu nawiązywania połączenia z punktem końcowym w jednej z następujących kategorii:

Protokoły
Określa używany mechanizm zabezpieczeń: niezawodne możliwości obsługi komunikatów lub ustawienia przepływu kontekstu transakcji.

Kodowanie
Określa kodowanie komunikatów (na przykład tekst lub plik binarny).

Transport
Określa podstawowy protokół transportu do użycia (na przykład TCP lub HTTP).

Elementy powiązania

Powiązanie zasadniczo składa się z uporządkowanego stosu elementów powiązania, z których każdy określa część informacji komunikacyjnych wymaganych do nawiązania połączenia z punktem końcowym usługi. Oba najniższe warstwy w stosie są wymagane. Na podstawie stosu jest element powiązania transportu, a tuż nad nim jest element zawierający specyfikacje kodowania komunikatów. Opcjonalne elementy powiązania, które określają inne protokoły komunikacyjne, są warstwowe powyżej tych dwóch wymaganych elementów. Aby uzyskać więcej informacji na temat tych elementów powiązania i ich prawidłowej kolejności, zobacz Powiązania niestandardowe.

Wiązania dostarczane przez system

Informacje w powiązaniu mogą być złożone, a niektóre ustawienia mogą nie być zgodne z innymi. Z tego powodu program WCF zawiera zestaw powiązań dostarczanych przez system. Te powiązania zostały zaprojektowane tak, aby obejmowały większość wymagań aplikacji. Następujące klasy reprezentują kilka przykładów powiązań dostarczonych przez system:

  • BasicHttpBinding: Powiązanie protokołu HTTP odpowiednie do nawiązywania połączenia z usługami sieci Web zgodnymi ze specyfikacją profilu podstawowego WS-I (na przykład ASP.NET usługami sieci Web).

  • WSHttpBinding: Powiązanie umożliwiające współdziałanie odpowiednie do nawiązywania połączenia z punktami końcowymi zgodnymi z protokołami WS-*.

  • NetNamedPipeBinding: używa programu .NET Framework do nawiązywania połączenia z innymi punktami końcowymi programu WCF na tej samej maszynie.

  • NetMsmqBinding: używa programu .NET Framework do tworzenia połączeń komunikatów w kolejce z innymi punktami końcowymi programu WCF.

  • NetTcpBinding: To powiązanie zapewnia większą wydajność niż powiązania HTTP i jest idealne do użycia w sieci lokalnej.

Aby zapoznać się z pełną listą zawierającą opisy wszystkich powiązań dostarczanych przez usługę WCF, zobacz Powiązania dostarczone przez system.

Korzystanie z własnych powiązań

Jeśli żadne z powiązań dostarczonych przez system nie ma odpowiedniej kombinacji funkcji, których wymaga aplikacja usługi, możesz utworzyć własne powiązanie. Istnieją dwa sposoby, aby to zrobić. Możesz utworzyć nowe powiązanie na podstawie wstępnie istniejących elementów powiązania przy użyciu CustomBinding obiektu lub utworzyć całkowicie zdefiniowane przez użytkownika powiązanie, wyprowadzając je z Binding powiązania. Aby uzyskać więcej informacji na temat tworzenia własnego powiązania przy użyciu tych dwóch metod, zobacz Tworzenie powiązań niestandardowych i Tworzenie powiązań zdefiniowanych przez użytkownika.

Używanie powiązań

Korzystanie z powiązań wiąże się z dwoma podstawowymi krokami:

  1. Wybierz lub zdefiniuj powiązanie. Najprostszą metodą jest wybranie jednego z powiązań dostarczonych przez system dołączonych do usługi WCF i użycie go z ustawieniami domyślnymi. Można również wybrać powiązanie dostarczone przez system i zresetować jego wartości właściwości zgodnie z wymaganiami. Alternatywnie można utworzyć powiązanie niestandardowe lub powiązanie zdefiniowane przez użytkownika, aby mieć wyższy stopień kontroli i dostosowywania.

  2. Utwórz punkt końcowy, który używa wybranego lub zdefiniowanego powiązania.

Kod i konfiguracja

Powiązania można definiować na dwa sposoby: za pomocą kodu lub konfiguracji. Te dwa podejścia nie zależą od tego, czy używasz powiązania dostarczonego przez system, czy powiązania niestandardowego. Ogólnie rzecz biorąc, użycie kodu zapewnia pełną kontrolę nad definicją powiązania w czasie projektowania. Z kolei użycie konfiguracji umożliwia administratorowi systemu lub użytkownikowi usługi WCF lub klientowi zmianę parametrów powiązania bez konieczności ponownego kompilowania aplikacji usługi. Ta elastyczność jest często pożądana, ponieważ nie ma możliwości przewidywania konkretnych wymagań dotyczących maszyn, na których ma zostać wdrożona aplikacja WCF. Przechowywanie informacji o powiązaniu (i adresowaniu) poza kodem umożliwia ich zmianę bez konieczności ponownego komplikowania lub ponownego wdrażania aplikacji. Należy pamiętać, że powiązania zdefiniowane w kodzie są tworzone po powiązaniach określonych w konfiguracji, dzięki czemu powiązania zdefiniowane przez kod zastępują wszelkie powiązania zdefiniowane przez konfigurację.

Zobacz też