Udostępnij za pośrednictwem


Niezawodny bezpieczny profil

W przykładzie ReliableSecureProfile pokazano, jak utworzyć program WCF i niezawodny bezpieczny profil (RSP). W tym przykładzie pokazano implementację kanału Make Połączenie ion, który można skomponować razem z usługą Reliable Messaging i opcjonalnie bezpieczny kanał w celu utworzenia niezawodnego bezpiecznego powiązania na podstawie specyfikacji dostawcy usług udostępnionych.

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 Połączenie ion" dla usługi, aby wysłać odpowiedź z powrotem w kanale wstecznym tego żądania "Make Połączenie ion". W tym przykładzie pokazano, jak zapewnić bezpieczną niezawodną komunikację dwukierunkową za pośrednictwem protokołu HTTP bez uwidaczniania punktu końcowego nasłuchiwania (i tworzenia wyjątku zapory).

Aby skonfigurować, skompilować i uruchomić przykład

  1. Otwórz rozwiązanie ReliableSecureProfile.

  2. Kliknij prawym przyciskiem myszy projekt Usługi w Eksplorator 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 Eksplorator 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 (przez dowolne narzędzia do monitorowania sieci online, takie jak Network Monitor, Fiddler itd.), pokazuje, że sekwencja komunikacji między klientem a usługą określona przez niezawodny bezpieczny profil oraz sposób sondowania usługi przez klienta za pomocą żądań "Make Połączenie ion". Gdy usługa będzie gotowa do wysłania przetworzonej odpowiedzi, używa kanału zwrotnego ostatniego żądania "Make Połączenie ion" w celu wysłania wyników.

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