Надежный защищенный профиль
В примере ReliableSecureProfile показано, как создать WCF и надежный безопасный профиль (RSP). В этом примере демонстрируется реализация канала Make Подключение ion, который можно создать вместе с Надежным обменом сообщениями и при необходимости безопасный канал для создания надежной безопасной привязки на основе спецификации RSP.
Обсуждение
В этом образце показан сценарий с надежным двусторонним асинхронным обменом сообщениями. Служба имеет дуплексный контракт, а в клиенте реализован дуплексный контракт обратного вызова. Клиент создает запрос к службе, а ответ ожидается по отдельному соединению. Сообщение запроса отправляется надежным образом. Клиент не открывает со своей стороны конечную точку прослушивания. Таким образом, он опрашивает службу с запросами "Make Подключение ion" для службы, чтобы отправить ответ обратно на обратный канал этого запроса "Сделать Подключение ion". В этом образце показано, как организовать защищенную надежную дуплексную связь по HTTP без предоставления конечной точки прослушивания на клиенте (и без создания исключения брандмауэра).
Настройка, сборка и выполнение образца
Откройте решение ReliableSecureProfile.
Щелкните правой кнопкой мыши проект службы в Обозреватель решений, выберите "Отладка", "Запустить новый экземпляр" в контекстном меню. Запустится узел службы.
Щелкните правой кнопкой мыши проект клиента в Обозреватель решений, выберите "Отладка", "Запустить новый экземпляр" в контекстном меню. Запустится клиент.
Введите в окне консоли клиента любую строку и нажмите клавишу ВВОД. Введенная строка отправится в службу, которая вычислит для нее хэш.
Просмотрите результат в окне клиента, когда служба выполняет обратный вызов дуплексной операции контракта, чтобы вывести результат в окно консоли клиента. Со стороны службы специально реализована задержка, имитирующая продолжительную операцию по обработке данных.
Мониторинг http-трафика (любым из средств мониторинга сети, таких как Сетевой монитор, Fiddler и т. д.), показывает, что последовательность для обмена данными между клиентом и службой, как указано надежным безопасным профилем, и как клиент опрашивает службу с запросами "Сделать Подключение ion". Когда служба будет готова отправить обработанный ответ, он использует обратный канал последнего запроса "Make Подключение ion" для отправки результатов обратно.
Нажмите в окне консоли службы клавишу ВВОД, чтобы закрыть службу. Нажмите клавишу ВВОД в окне консоли клиента, чтобы закрыть клиент.