Powiązania niestandardowe
Klasę CustomBinding można użyć, gdy jedno z powiązań dostarczonych przez system nie spełnia wymagań usługi. Wszystkie powiązania są tworzone na podstawie uporządkowanego zestawu elementów powiązania. Powiązania niestandardowe można tworzyć na podstawie zestawu elementów powiązania dostarczonego przez system lub mogą zawierać niestandardowe elementy powiązania zdefiniowane przez użytkownika. Możesz na przykład użyć niestandardowych elementów powiązania, aby umożliwić korzystanie z nowych transportów lub koderów w punkcie końcowym usługi. Aby zapoznać się z przykładami roboczymi, zobacz Niestandardowe przykłady powiązań. Aby uzyskać więcej informacji, zobacz customBinding>.<
Konstruowanie powiązania niestandardowego
Powiązanie niestandardowe jest tworzone przy użyciu konstruktora CustomBinding z kolekcji elementów powiązania, które są "ułożone" w określonej kolejności:
Na początku jest opcjonalna TransactionFlowBindingElement klasa, która umożliwia przepływanie transakcji.
Następna jest opcjonalna ReliableSessionBindingElement klasa, która udostępnia mechanizmy sesji i porządkowania zgodnie z definicją w specyfikacji WS-ReliableMessaging. Sesja może przekraczać protokoły SOAP i pośredników transportowych.
Następna jest opcjonalna SecurityBindingElement klasa, która zapewnia funkcje zabezpieczeń, takie jak autoryzacja, uwierzytelnianie, ochrona i poufność.
Następna jest opcjonalna CompositeDuplexBindingElement klasa, która umożliwia dwukierunkową komunikację z protokołem transportowym, który nie obsługuje komunikacji dwukierunkowej natywnie, takiej jak HTTP.
Następnie jest opcjonalna OneWayBindingElementklasa ), która zapewnia komunikację jednokierunkową.
Następnie jest opcjonalnym elementem powiązania zabezpieczeń strumienia, który może być jednym z następujących elementów.
Następnie jest wymagany element powiązania kodowania komunikatów. Możesz użyć własnego kodera komunikatów lub jednego z trzech powiązań kodowania komunikatów:
Na dole znajduje się wymagany element transportu. Możesz użyć własnego transportu lub jednego z następujących elementów powiązania transportu zapewnia Program Windows Communication Foundation (WCF):
Poniższa tabela zawiera podsumowanie opcji dla każdej warstwy.
Warstwa | Opcje | Wymagania |
---|---|---|
Transakcje | TransactionFlowBindingElement | Nie. |
Niezawodność | ReliableSessionBindingElement | Nie. |
Zabezpieczenia | SecurityBindingElement | Nie. |
Kodowanie | Tekst, binarny, mechanizm optymalizacji transmisji komunikatów (MTOM), niestandardowy | Tak |
Transport | TCP, HTTP, HTTPS, nazwane potoki (znane również jako IPC), peer-to-peer (P2P), kolejkowanie komunikatów (znane również jako MSMQ), niestandardowe | Tak |
Ponadto można zdefiniować własne elementy powiązania i wstawić je między dowolną z poprzednich zdefiniowanych warstw.