Услуги RIA против услуг WCF: в чем разница - PullRequest
20 голосов
/ 26 марта 2010

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

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

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

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

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

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

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

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

Ответы [ 2 ]

12 голосов
/ 26 марта 2010

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

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

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

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

4 голосов
/ 14 октября 2011

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

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

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

...