WCF REST vs. ADO.NET Data Services - PullRequest
       17

WCF REST vs. ADO.NET Data Services

10 голосов
/ 02 декабря 2008

Может ли кто-нибудь сравнить и сопоставить службы WCF Rest с ADO.NET Data Services? Какая разница и когда использовать какой?

Спасибо,

Ray.

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

Ответы [ 5 ]

14 голосов
/ 02 декабря 2008

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

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

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

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

1 голос
/ 27 мая 2011

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

1 голос
/ 21 апреля 2010

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

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

1 голос
/ 02 декабря 2008

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

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

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

0 голосов
/ 24 марта 2010

Службы данных WCF (ранее известные как Службы данных ADO.NET), http://msdn.microsoft.com/en-us/data/aa937697.aspx

...