быстрая и грязная связь клиент/сервер в Silverlight

Я создаю несколько небольших прототипов в Silverlight и имею некоторый опыт работы с .NET, но у меня никогда не было необходимости связываться с сервером из Silverlight.

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

Является ли .NET RIA Services лучшим способом сделать это или это излишне?

Документация для RIA Services огромна, 1-часовое видео-введение, блоги из 26 серий и т. Д. Кажется, что это излишество.

Есть ли быстрый проект на основе REST, который я мог бы создать, или лучше использовать службы RIA?


person Mark    schedule 09.05.2010    source источник


Ответы (1)


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

Есть некоторые функции WCF, которые позволяют создавать сервисы, которые легко вызываются HTTP-клиентами, но это не главная цель.

Если операции вашего сервера очень просты (или уже реализованы как REST/HTTP), я бы придерживался этого и использовал WebClient или HttpWebRequest. Но если вам нужны удобные прокси-классы на стороне клиента, которые используются больше как вызовы методов, я бы использовал инфраструктуру WCF, но службы WCF RIA, вероятно, не так уж необходимы.

Если только вы не работаете над бизнес-приложением, в котором используются такие вещи, как правила проверки, привязка данных, операции CRUD и т. д.

person Josh    schedule 10.05.2010
comment
спасибо за информацию, до сих пор я сделал базовый обработчик ashx для обслуживания изображения (просто записывая байты изображения в выходной поток) и устанавливая URL-адрес тега Image как URL-адрес обработчика (с некоторыми параметрами строки запроса), который вроде тоже работает. - person Mark; 10.05.2010
comment
Если вы просто хотите загрузить динамическое изображение в элемент управления Image, это самый простой вариант — да. Я не уверен, что у Silverlight все еще есть эта проблема, но в бета-версии Silverlight 4 я заметил, что если вы загрузите кучу элементов изображения и получите 404 или какую-либо другую ошибку, загрузка ЦП резко возрастет. Я работал над этим, подключив событие ImageFailed и установив для Source значение null. - person Josh; 10.05.2010