Подтвердить что ты не робот

Услуги RIA по сравнению с услугами WCF: какая разница

Есть много информации о том, как создать приложение Silverlight с использованием служб .NET RIA, но неясно, какая уникальная вещь в RIA отсутствует в WCF?

Вот несколько тем, обсуждающих эту тему: [1], [2]

Но они не дают ответа на вопрос.

Извините за глупый вопрос, но что добавляет слой RIA Services в ваше приложение, если у вас уже есть Silverlight <--> WCF Service <--> Business Logic <--> Entity Framework Model <--> Database? Аутентификация? Проверка? Является ли он релевантным для вас?

В настоящий момент я вижу только следующее: при использовании служб RIA вам не нужно размещать службу WCF вручную и не нужно настраивать какие-либо ссылки на стороне клиента (clien side == Приложение Silverlight).

Возможно, я не знаю некоторых очень полезных функций RIA Services? Так что, пожалуйста, укажите мне хороший документ для этого?

Большое спасибо.

P.S. Я читал много разных статей о различиях, но не могу их прояснить... все статьи "рассказывают" и не являются конкретными. Если вы собираетесь дать мне ссылку на дополнительную статью, не могли бы вы быть настолько добрыми и предоставить список преимуществ, которые ВЫ видите.

4b9b3361

Ответ 1

Собственно, вы можете использовать ту же проверку и аутентификацию без использования служб RIA. Что RIA Services дает вам, это генерация кода. Он создает ваши классы для вас. Вам нужно только поставить бизнес-логику. Я думаю, что RIA Services очень полезно для разработки приложений малого и среднего бизнеса очень быстро.

Другое отличие заключается в том, что он скрывает асинхронные вызовы веб-службы. Многим людям не нравится асинхронная модель (единственная, которую вы можете использовать в Silverlight), и службы RIA обрабатывают это для вас.

Я рекомендую прочитать эту статью от Shawn Wildermuth, где он указывает плюсы и минусы обоих подходов, а также включает в себя службы данных ADO.NET(которые, как я думаю, теперь называется службами данных WCF):

http://wildermuth.com/2009/09/29/Choosing_a_Data_Access_Layer_for_Silverlight_3

Ответ 2

Хорошо, я бы не согласился с предыдущим ответом. WCF Ria Sercices - отличная архитектура, и времена показали, что это доказывает. Я бы предпочел взглянуть на http://blogs.msdn.com/b/saurabh/archive/2009/11/23/understanding-the-wcf-in-wcf-ria-services.aspx

На самом деле я использую службы WCF Ria для большого приложения больших объектов, ориентированного на 1500+ современных пользователей. Я сделал массовое использование настройки генерации клиентского кода (подробности см. В блоге Varun), но я могу использовать LINQ через провод с помощью silverlight, и у меня есть возможность выбирать между автоматической ленивой или нетерпеливой загрузкой среди enitities в контексте. И, пожалуйста, не забывайте, что остальная парадигма WCF Ria Services также позволяет использовать OutputCache.

Не упоминание о том, что благодаря обычным метадатчикам вы можете значительно облегчить создание клиента и как сериализуются данные для клиента. Я считаю, что если ваше приложение Silverlight основано на использовании контекста, вы наверняка сможете воспользоваться услугами WCF Ria. Надеюсь это поможет, Marco