Udostępnij przez


Niezawodny, bezpieczny profil

Przykład ReliableSecureProfile pokazuje, jak komponować WCF i Niezawodny Bezpieczny Profil (RSP). W tym przykładzie przedstawiono implementację kanału Nawiązywanie połączenia, który można tworzyć razem z niezawodnym przesyłaniem wiadomości i opcjonalnie za pomocą bezpiecznego kanału, w celu utworzenia niezawodnego bezpiecznego wiązania na podstawie specyfikacji RSP.

Dyskusja

W tym przykładzie przedstawiono niezawodny asynchroniczny scenariusz dwukierunkowej wymiany komunikatów. Usługa ma kontrakt dwukierunkowy, a klient implementuje kontrakt wywołania zwrotnego dwukierunkowego. Klient inicjuje żądanie do usługi, dla której oczekiwana jest odpowiedź na osobnym połączeniu. Komunikat żądania jest wysyłany niezawodnie. Klient nie chce otwierać punktu końcowego nasłuchiwania na jego końcu. W związku z tym sonduje usługę za pomocą żądań "Make Connection", aby usługa mogła wysłać odpowiedź z powrotem przez kanał zwrotny tego żądania "Make Connection". W tym przykładzie pokazano, jak zapewnić bezpieczną i niezawodną komunikację dwukierunkową za pośrednictwem protokołu HTTP, bez ujawniania przez klienta punktu końcowego nasłuchiwania (i tworzenia wyjątku zapory).

Aby skonfigurować, skompilować i uruchomić przykładowy program

  1. Otwórz rozwiązanie ReliableSecureProfile .

  2. Kliknij prawym przyciskiem myszy projekt usługi w Eksploratorze rozwiązań, wybierz pozycję Debuguj, Uruchom nowe wystąpienie z menu kontekstowego. Spowoduje to uruchomienie hosta usługi.

  3. Kliknij prawym przyciskiem myszy projekt Klient w Eksploratorze rozwiązań, wybierz pozycję Debuguj, Uruchom nowe wystąpienie z menu kontekstowego. Spowoduje to uruchomienie klienta.

  4. Wpisz dowolny ciąg w wierszu polecenia w oknie konsoli klienta i kliknij przycisk ENTER. Spowoduje to wysłanie ciągu wejściowego do usługi, która oblicza skrót tego ciągu.

  5. Wyświetl wynik w oknach klienta, gdy usługa wywołuje operację dwustronnego kontraktu wywołania zwrotnego, aby wyświetlić wynik w oknie konsoli klienta. Istnieje celowe opóźnienie w usłudze w celu symulowania długotrwałej operacji przetwarzania danych.

  6. Monitorowanie ruchu HTTP (przy użyciu dowolnych narzędzi do monitorowania sieci online, takich jak Network Monitor, Fiddler itd.) pokazuje, że sekwencja komunikacji między klientem a usługą jest ustanowiona zgodnie z profilem Niezawodny Bezpieczny, oraz jak klient sondaje usługę za pomocą żądań 'Make Connection'. Gdy usługa jest gotowa do wysłania przetworzonej odpowiedzi, używa kanału zwrotnego ostatniego żądania "Nawiązywanie połączenia" w celu wysłania wyników.

  7. Naciśnij ENTER w oknie konsoli usługi, aby zamknąć usługę. Naciśnij ENTER w oknie konsoli klienta, aby zamknąć klienta.