Найдено результатов: 2

WCF push к клиенту через брандмауэр?

Смотрите также, Как информирует сервер WCF клиент WCF об изменениях? (Лучше решение тогда простой опрос, например Комент или длинный опрос)

Мне нужно использовать push-технологию с WCF через клиентские брандмауэры. Это должно быть распространенная проблема, и я знаю, что она работает в теории (см. ссылки ниже), но мне не удалось заставить ее работать, и я не смог найти образец кода, который демонстрирует это.

Требования:

  • WCF
  • Клиенты подключаются к серверу через порт tcp 80 (netTcpBinding).
  • Сервер возвращает информацию с нерегулярными интервалами (от 1 минуты до нескольких часов).
  • Пользователи не должны настраивать свои брандмауэры, серверные толчки должны проходить через брандмауэры, у которых закрыты все входящие порты. TCP дуплекс на том же соединении необходим для этого, двойная привязка не работает, так как порт должен быть открыт на клиентском брандмауэре.
  • Клиенты посылают сердцебиения на сервер через регулярные промежутки времени (возможно, каждые 15 минут), чтобы сервер знал, что клиент все еще жив.
  • Сервер-это IIS7 с WAS.

Решение, по-видимому, дуплекс netTcpBinding. На основании этой информации:

WCF через брандмауэры и NATs

Сохранение открытых соединений в IIS

Но мне еще предстоит найти образец кода, который работает.. Я попытался объединить образцы "Duplex" и "TcpActivation" из образцов WCF Microsoft, но безуспешно. Пожалуйста, кто-нибудь может указать мне пример кода, который работает, или построить небольшой пример приложения. Большое спасибо!

.net   wcf   firewall   push   duplex    

493   6   16:41, 26th August, 2020