WCF REST и ADO.NET Data Services

Может ли кто-то сравнивать и сопоставлять службы WCF Rest по сравнению с службами данных ADO.NET? В чем разница и когда использовать, что?

Спасибо,

Ray.

Изменить: благодаря первому ответу, просто чтобы немного рассказать о том, что я хочу сделать: у меня есть веб-приложение, которое я планирую положить в облако (когда-нибудь), DAL построена с помощью ADO.NET Entity Framework. И мне нужно понять, какая технология доступа к данным веб-сервисов наилучшим образом подходит для моего случая.

Ответ 1

Не уверен, что я могу дать полный ответ здесь, но я потратил много времени на PDC, пытаясь понять это сам, так что все идет...

Короткий ответ здесь заключается в том, что службы данных ADO.Net предназначены для обеспечения интерфейса к инфраструктуре ADO.Net(DataContext, Datasets, DataTables и т.д.), которые легко интегрируются с Интернетом, используя URI и известные данные чтобы указать на данные. Службы ADO.Net Data также предназначены для программирования ADO.Net в облаке. Службы Microsoft Cloud, "Azure", это новая платформа облачного программирования, которая будет выпущена в ближайшем будущем. Для получения дополнительной информации о Cloud Services перейдите здесь.

Одна интересная вещь, о которой я узнал о службах данных ADO.Net и облаке, заключается в том, что базовый DataContext, который действует как поставщик вашего источника данных, может быть легко настроен для указания вашего ресурса в облаке, или, на базе базы данных. Это позволяет вам переключать свой DataContext без изменения кода!!! (Меня это впечатлило, если вы не могли сказать)

WCF Rest Services - это обычные сервисы WCF, которые добавили функциональность, чтобы их можно было использовать с помощью RESTful (URI и URL, использование HTTTP-глаголов, использование разных форматов передачи данных, таких как JSON, YAML и т.д.).). Например, если у вас была веб-служба с запасом, которую вы создали в WCF, вместо того, чтобы требовать, чтобы вызывающая сторона использовала тяжелую реализацию WSDL и ASMX, вы могли бы просто использовать функцию WCF Rest для публикации этой службы как службы JSON, а не он потребляется через AJAX, не указывая на ресурс ASMX. Для получения дополнительной информации о WCF с помощью отдыха ознакомьтесь с PDC Presentation

Ответ 2

Большое вам спасибо за понимание! Для моего приложения я планирую поместить его в облако, и я также использовал ADO.NET Entity Framework для создания моего DAL, поэтому это звучит так, как это делают ADO.NET Data Services.

Одна интересная вещь, о которой я узнал о службах данных ADO.Net и облаке, заключается в том, что базовый DataContext, который действует как поставщик вашего источника данных, может быть легко сконфигурирован так, чтобы указывать ваш ресурс в облаке, OR, на базе базы данных, Это позволяет вам переключать свой DataContext без изменения кода!!! (Меня это впечатлило, если вы не могли сказать)

Не могли бы вы сказать больше об этом в отношении того, как ADO.NET Data Service + EF будет работать в облаке?

Ответ 3

Если вы хотите разработать и предоставить услугу, ориентированную на данные, в некоторых случаях многие функции могут быть достигнуты как с помощью стартового набора для отдыха WCF, так и с помощью службы данных WCF, поскольку обе эти технологии WCF могут доставлять ваши данные в RESTful (например, с адресным контентом с URL-адресами и стандартными форматами данных, такими как xml и json). Они также оснащают массив классов .NET для обработки и обработки множества сетевых и веб-запросов, таких как HTTP-перехватчики и кеш.

Однако единственным преимуществом, которым обладает служба передачи данных WCF, но не старшим комплектом REST, является то, что служба данных WCF может предоставлять свои данные в виде объектов объекта .NET и в стандартных форматах (это достигается прототипом OData). Поэтому я полагаю, что служба данных WCF даст вам более универсальную производительность во многих реальных сценариях.

Ответ 4

Одним из основных различий между службами ADO.Net Data и службами отдыха WCF является то, что услуги REST имеют небольшой вес, и вы можете настроить, что получить, написав отдельные методы/функции, в то время как службы данных ADO.Net больше похожи на дамп, вы получаете все... поэтому для веб-приложений и приложений RIA, на мой взгляд, услуги WCF Rest являются лучшим и оптимизированным выбором...