Дуплексные каналы службы WCF постоянно активны (WSDualHttpBinding) - PullRequest
1 голос
/ 30 июня 2011

Архитектура:

  1. консольное приложение, содержащее дуплексную службу wcf;
  2. потребителей приложений для Windows; каждое приложение подписывается на дуплекс, поэтому у нас есть список подписчиков и служба должна отправлять уведомления некоторым из них в случае наступления некоторых событий;

Проблема:

  1. как поддерживать соединение постоянно, чтобы служба могла отправлять уведомления клиентам?

Я обнаружил, что для этой привязки есть 2 канала. Мне нужно постоянно открыть канал от службы (для обратных вызовов).

Спасибо;

Ответы [ 2 ]

4 голосов
/ 13 сентября 2011

У меня была та же проблема, что и у вас, для ее решения необходимо реализовать метод поддержки активности.Пустой вызов вашей службы глупо иметь службу WCF 24/7, потому что это не самый лучший архитектурный способ WCF, но иногда мы знаем, что нам нужно, не всегда самая лучшая вещь.

Так что дапросто выполняйте вызов службы WCF каждые 5 минут и, тем самым, сохраняйте соединение активным.Может быть, у вас могут быть и другие проблемы, в моем случае у меня не так много подписчиков службы WCF, поэтому это решение подойдет.

0 голосов
/ 01 июля 2011

Пока клиент подключен к услуге, канал обратного вызова будет активен. Как только клиент отключится (или канал выйдет из строя), канал обратного вызова закроется.

...