RIA Services vs ADO.NET Data Services - PullRequest
       27

RIA Services vs ADO.NET Data Services

10 голосов
/ 10 июня 2009

Я сейчас нахожусь в процессе создания приложения Silverlight 3, управляемого данными. Для доступа к базе данных используются 2 общих подхода: службы RIA и службы данных ADO.NET. Есть ли у кого-нибудь указания о том, когда / почему выбирать каждый подход? Вот что я почерпнул из своего исследования / опыта. Есть мысли?

ADO.NET представляется полезным только для вызовов только из базы данных. Если вам необходимо предоставить службы данных другим приложениям (игнорируя ограничения домена Silverlight 3), это хороший подход. Кроме того, если в вашем приложении может быть полезен синтаксис URL / запроса, это еще одно преимущество

Сервисы RIA представляются более гибкой и приемлемой основой. Кажется, это дает вам не только доступ к базе данных. У него есть ограничение на использование только для приложения Silverlight / Web, поскольку он не предоставляется через службу.

Мысли? Идеи? Комментарии?

Ответы [ 3 ]

10 голосов
/ 10 июня 2009

По сети службы данных ADO.NET и службы RIA очень похожи (оба они основаны на REST).

Однако со службами данных ADO.NET и всеми другими службами REST вам не так просто увидеть API в Visual Studio. Пример: вы не знаете, какие обращения к базе данных доступны, и возвращаемые данные не являются строго типизированными. Это создает очень функциональную систему данных, но работать с ней может быть сложно.

С сервисами RIA вы получаете лучшее из обоих миров, поскольку ваш проект RIA ссылается непосредственно на проекты silverlight, поэтому Visual Studio может знать, какие методы доступны, и все строго типизировано. Все другие приложения могут использовать этот сервис (dataservice.axd), но они не могут позволить себе роскошь API.

РЕДАКТИРОВАТЬ: Исправление: ADO.NET Data Services действительно генерирует метаданные (извините за плохую информацию) http://msdn.microsoft.com/en-us/library/cc716656.aspx

3 голосов
/ 08 марта 2010

Это очень старый вопрос, но я хотел бы добавить ответ для читателей.

Службы Ria - это уровень поверх служб данных ADO.net. Сервисы Ria используют ADO.Net в качестве базовой платформы и добавляют слой для удобного использования библиотеки UI.

Так что вопрос может быть, когда вы используете RIA Services и когда используете ADO.Net службы данных

0 голосов
/ 31 августа 2009

Я сделал прототип системы со службами данных Silverlight 2 и ADO.NET и в настоящее время продолжаю реализацию MVVM с использованием служб Silverlight 3 и RIA для LOB-приложений.

RIA имеет модель безопасности, которая избавляет вас от создания собственной с WCF для использования Silverlight. Он основан на модели поставщика безопасности ASP.NET. У него есть интересная и мощная модель проверки, которая позволяет легко вставлять свои собственные средства проверки клиентов.

Основные проблемы, связанные с RIA Services, заключаются в том, что они очень новые, не в окончательной форме, и имеют очень мало документации с более простым упрощенным вариантом. Бета ожидается на PDC в ноябре и RTM с EF 4.0, C # 4.0 и VS2010.

Работая с чем-то таким ранним, вы можете ожидать существенного рефакторинга с изменениями по мере выпуска релизов и некоторого разочарования небольшими изменениями, которые не так легко обнаружить.

В настоящее время мы работаем над ошибками в EF и RIA, и нам может понадобиться использовать службы данных для выполнения некоторых действий, пока RIA не станет более стабильной.

Существует строгая типизация как с Data Services, так и с RIA. Intellisense работает с обоими. Resharper пока не поддерживает RIA, хотя ожидается, что в их выпуске 5.0.

...