Поделиться через


Надежный безопасный профиль

В примере ReliableSecureProfile показано, как создать WCF и надежный безопасный профиль (RSP). В этом примере демонстрируется реализация канала Make Connection , который можно создать вместе с Reliable Messaging и при необходимости безопасный канал для создания надежной безопасной привязки на основе спецификации RSP.

Обсуждение

В этом примере демонстрируется надежный асинхронный двусторонний сценарий обмена сообщениями. Служба имеет дуплексный контракт, и клиент реализует дуплексный контракт обратного вызова. Клиент инициирует запрос к службе, для которой ожидается ответ в отдельном соединении. Сообщение запроса отправляется надежно. Клиент не хочет открывать конечную точку прослушивания в конце. Таким образом, он шлет в службу запросы на "Сделать подключение", чтобы служба могла отправить ответ обратно через обратный канал этого запроса "Сделать подключение". В этом примере показано, как обеспечить надежную дуплексную связь по протоколу HTTP без предоставления клиенту конечной точки прослушивания (и создания исключения брандмауэра).

Настройка, сборка и запуск примера

  1. Откройте решение ReliableSecureProfile .

  2. Щелкните правой кнопкой мыши проект службы в обозревателе решений, выберите "Отладка", "Запустить новый экземпляр " в контекстном меню. При этом запускается хост службы.

  3. Щелкните правой кнопкой мыши проект клиента в обозревателе решений, выберите "Отладка", "Запустить новый экземпляр " в контекстном меню. Это запускает клиента.

  4. Введите любую строку в запросе в окне клиентской консоли и нажмите клавишу ВВОД. Это отправляет входную строку в службу, которая вычисляет хэш этой строки.

  5. Просмотрите результат в окнах клиента, когда служба вызывает операцию контракта дуплексного обратного вызова, чтобы отобразить результат в окне консоли клиента. Существует преднамеренная задержка в службе для имитации длительной операции обработки данных.

  6. Мониторинг http-трафика (любым из средств мониторинга сети, таких как Сетевой монитор, Fiddler и т. д.), показывает, что последовательность взаимодействия устанавливается между клиентом и службой, как указано надежным безопасным профилем, и как клиент опрашивает службу с запросами "Сделать подключение". Когда служба готова отправить обработанный ответ, он использует обратный канал последнего запроса "Сделать подключение" для отправки результатов обратно.

  7. Нажмите клавишу ВВОД в окне консоли службы, чтобы закрыть службу. Нажмите клавишу ВВОД в окне консоли клиента, чтобы закрыть клиент.