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 являются лучшим и оптимизированным выбором...
Ответ 5
Службы данных WCF (ранее известные как службы данных ADO.NET),
http://msdn.microsoft.com/en-us/data/aa937697.aspx