WCF постоянное соединение - PullRequest
       1

WCF постоянное соединение

0 голосов
/ 27 августа 2010

У меня есть мульти-графическая архитектура с одним сервисом (я реализую и сервис, и клиент) (используя .net 3.5, c #, приложение / сервис windows).

Какая лучшая практика для обновления графического интерфейса? Я знаю дуплексную связь, но если клиент какое-то время не отправляет никаких запросов, канал закрыт! увеличение времени ожидания - не лучшее решение ...?!

С уважением Marcus

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

Если вы хотите использовать архитектуру, в которой клиент регистрируется в службе, а служба немедленно передает изменения данных клиентам, когда происходят изменения, то решение дуплексной привязки является решением. В противном случае не используйте двустороннюю привязку.

Если вам не нравится идея увеличения времени ожидания соединения, вы всегда можете реализовать свой собственный механизм поддержки активности. Клиент продолжит отправку некоторых сообщений поддержки активности в заданный интервал, поэтому соединение будет по-прежнему открыто.

0 голосов
/ 27 августа 2010

Графические интерфейсы отправляют команды в службу по дуплексному протоколу TCP.Каждый раз, когда один графический интерфейс меняет некоторые вещи, другой должен быть информирован об изменениях, происходящих с сервисом.

первое решение: приложение может опрашивать службу каждые х секунд, чтобы спросить: есть ли обновления?Каждый раз, когда происходит изменение, сервис отправляет «графический интерфейс пользователя, который вы должны обновить» посредством обратного вызова для каждого графического интерфейса.но, возможно, все каналы больше не открыты ...

надеюсь, это поможет понять (извините за мой очень плохой английский)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...