wcf и дуплексная связь - PullRequest
       10

wcf и дуплексная связь

0 голосов
/ 26 апреля 2010

У меня много клиентских программ и один сервис. Программы этого клиента связываются с сервером по каналу http с WCF.

Клиенты имеют динамический IP. Они онлайн 24 часа в сутки.

Мне нужно следующее: Сервер должен уведомить всех клиентов с интервалом в 3 минуты. Если клиент новый (запущен в данный момент), он должен немедленно уведомить об этом.

Но поскольку клиенты имеют динамический IP-адрес и работают 24 часа в сутки, а иногда соединение нестабильно, стоит ли использовать wcf duplex?

Что происходит, когда соединение обрывается? Будет ли это автоматически восстанавливаться?

Является ли хорошей идеей использовать удаленный MSMQ для этого типа уведомлений?

С уважением,

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

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

Если вы знаете интервал в 3 минуты и хотите, чтобы клиент получал информацию при запуске, почему бы не позволить клиенту опросить информацию с сервера?

0 голосов
/ 27 апреля 2010

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

Я не уверен, что MSMQ будет работать для вас, если каждый клиент не создаст для вас очередь MSMQ и вы не отправите сообщения каждому из них. Опять с ненадежным соединением это не поможет. Я не думаю, что вы можете «протолкнуть» данные, если потеряете соединение с клиентом, клиент отключится или сменит IP, не уведомив вашу систему.

...