В чем разница между WCF и классом обслуживания домена RIA Services? - PullRequest
14 голосов
/ 12 июня 2009

Я просто знакомлюсь с основными различиями между Silverlight 3 и его предшественником. Если посмотреть на класс обслуживания домена в службах RIA, то выполнение кажется немного упрощенным. Может кто-нибудь объяснить основные различия между этим и Windows Communication Foundation?

Использует ли класс обслуживания домена в фоновом режиме WCF или некоторые другие сервисы, или это новинка с нуля?

Ответы [ 3 ]

17 голосов
/ 12 июня 2009

Я рекомендую вам прочитать эту статью блога , в которой упоминается:

Наше мнение о работе RIA Services действительно выросло из проекта LINQ несколько лет назад. LINQ интегрирует семантику запросов в языки (C #, VB и т. Д.), Обеспечивая общую абстракцию для работы с данными; находятся ли эти данные в объектах CLR памяти, XML, реляционных данных или что-либо еще. С помощью RIA Services мы расширяем эту модель, предлагая предписывающую модель для демонстрации логики вашего домена через LINQ. Мы думаем о доменной логике как о той части вашего приложения, которая очень специфична для вашего домена - это конкретная бизнес-проблема, которую вы решаете.

Таким образом, для «логики домена» то, что LINQ относится к данным, тогда как WCF, по сути, является просто поставщиком услуг.

В традиционной разработке N-уровня это означает, что:

... вы должны думать о службах RIA как о более восприимчивом слое поверх ADO.NET Data Services и WCF ... Мы также ожидаем, что в конечном итоге обеспечим полный доступ ко всем возможностям и гибкости базовых служб WCF, таких как как высоко оптимизированная двоичная сериализация.

Или у вас также есть возможность использовать новый «Шаблон RIA Services» для:

... легко создавайте приложения ASP.NET, пользуясь всеми встроенными функциями RIA Services, такими как проверка данных, авторизация и т. Д. В мартовском превью мы предлагаем элемент управления asp: DomainDataSource, который позволяет очень легко ASP.NET WebForms доступ к логике вашего домена. Основой этого является будущая версия ASP.NET Dynamic Data, которая позволяет очень легко создавать общий стандартный интерфейс на основе логики вашего домена.

Это существенно означает, что службы RIA могут:

Также стоит проверить Mix09: создание удивительных бизнес-приложений с Silverlight 3 для другого примера.

Когда я писал это, я только что обнаружил Обзор услуг Microsoft .NET RIA , который, похоже, объясняет многое из рационального, стоящего за RIA Services (и, возможно, немного яснее, чем некоторые из вышеперечисленных :)

2 голосов
/ 15 сентября 2009

Мы используем комбинацию обоих. WCF для громоздких данных, который лучше работает с двоичной сериализацией и RIA для сущностей CRUD, потому что код намного быстрее записывается и поддерживается. Если бы RIA поддерживал бинарный файл, мы бы использовали его вместо WCF, но я почти уверен, что это не так в текущей версии выпуска.

1 голос
/ 09 июля 2010

WCF имеет гораздо больше возможностей для отладки, чем в RIA. Источник данных о домене проще в настройке, но сложнее выявить ошибки. Во многих случаях WCF будет использовать для создания системы взаимодействия, которая опустошает старый WSDL с безопасностью заголовка WSSE.

...