Архитектура Silverlight для событийно-ориентированного приложения - PullRequest
1 голос
/ 22 декабря 2010

Меня попросили написать приложение клиент-сервер silverlight.Одним из требований архитектуры является то, что сервер должен иметь возможность отправлять события клиенту.Я знаю, что HTTP разработан таким образом, что сервер не должен «инициировать» связь, а должен отвечать на запросы, инициированные клиентом.Один из вариантов - написать какой-то механизм «опроса», который будет задавать вопросы серверу и распределять их по клиентским частям после их поступления.

Мой вопрос: есть ли в Silverlight решение для этого?Кроме того, есть ли «лучшая практика» для такого рода вещей?

Спасибо,

Коби

1 Ответ

4 голосов
/ 22 декабря 2010

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

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

см .: http://msdn.microsoft.com/en-us/library/ms731064.aspx

...