Каковы способы связи между Silverlight и серверной стороной? - PullRequest
3 голосов
/ 09 октября 2009

Справочная информация: У меня практически нет опыта работы с Silverlight, меня попросили начать знакомство с этой технологией и дать некоторое представление о клиенте, который может захотеть перестроить пользовательский интерфейс своего приложения .Net Desktop в silverlight. Так что мой опыт - это то, что я смог найти в Google (что на удивление нелегко) и несколько учебных пособий, которые я сделал. Я знаю, что Silverlight может использовать веб-службу ASMX, службы WCF или REST для связи с сервером.

Вопрос: Есть ли другие официальные или неофициальные способы общения, о которых кто-нибудь знает?

Спасибо заранее, David

1 Ответ

5 голосов
/ 09 октября 2009

Начните здесь:

http://msdn.microsoft.com/en-us/library/dd470099(VS.95).aspx

http://videos.visitmix.com/MIX08/T13

http://videos.visitmix.com/MIX09/T42F

Я немного предвзят, что работал над технологией :), но я бы посоветовал вам рассмотреть WCF.

Этот метод обеспечивает удобство использования: буквально за несколько минут "Добавить новую ... службу WCF с поддержкой Silverlight" в ваш проект и все готово к работе. В Silverlight 3 используется очень производительный двоичный XML-протокол, который можно легко переключить на обычный текстовый XML для отладки с помощью всего лишь двухстрочного изменения конфигурации. И он прекрасно интегрируется с большинством нужных вам моделей аутентификации (см. Раздел «Безопасность» в ссылке на документацию выше).

Конечно, вы можете свернуть ваше собственное общение, используя HttpWebRequest, WebClient или даже сокеты. Использование WebClient, вероятно, лучше всего, если вы хотите использовать REST на сервере. Имейте в виду, что некоторые вещи, которые обычно возможны в REST (такие как использование HTTP-команд PUT и DELETE), невозможны в плагинах браузера, таких как Flash и Silverlight, из-за ограничений браузера.

Наконец, есть .NET RIA Services. Это слишком тяжело для некоторых сценариев и не имеет некоторых функций WCF (таких как двоичный и дуплексный режим), но это больше, чем просто способ связи с сервером: он дает вам полную концептуальную основу для построения SL приложения с данными на стороне сервера, а также предоставляет множество полезных функций, таких как проверка, пейджинг и т. д. бесплатно.

...