Ответ 1
Просмотрите REST на веб-сайте WCF и стартовый комплект. Хорошая статья здесь тоже.
Я собираюсь начать писать некоторые веб-службы REST в качестве способа предоставления данных. Я полагаю, что, когда доступны мои веб-службы REST, некоторые из моих веб-приложений и консольных приложений смогут использовать веб-службу REST в качестве службы данных для получения, добавления, обновления и удаления данных в базы данных. В дополнение к этому, я хотел бы добавить функцию аутентификации для идентификации любого запроса.
Мой вопрос в том, с чего мне начать? Я видел Microsoft ADO.Net Data Services. Не уверен, что это хорошее место для начала? Доступны ли какие-либо примеры?
Просмотрите REST на веб-сайте WCF и стартовый комплект. Хорошая статья здесь тоже.
Вы также можете проверить servicestack.net Открытый, кросс-платформенный, высокопроизводительный веб-службы, которая позволяет вам разрабатывать веб-службы с использованием кодового, строго типизированного DTO, который автоматически (без какой-либо конфигурации) будет сразу доступен на разных конечных точках из коробки (например, XML, JSON, JSV, SOAP 1.1/1.2).
Кроме того, ваши же веб-сервисы также могут быть доступны через любой URL-адрес ReST-ful по вашему выбору, где предпочтительный формат сериализации может быть указан вашим клиентом REST i.e.
См. Ничего, кроме REST! пример веб-сервиса для разработки полного REST-полноценного приложения Ajax CRUD с только 1 страницей jQuery и 1 страница С#.
Хорошим местом для начала является пример Hello World, чтобы узнать, как легко добавить веб-службы ServiceStack в любой существующее веб-приложение ASP.NET.
Для обеспечения производительности ServiceStack делает отличный сервер Ajax, поскольку он поставляется в комплекте с самым быстрым JSON Serializer для .NET ( > 3 раза быстрее, чем другие JSON-сериализаторы).
Оформить заказ это живое приложение Ajax по вкусу (демо-версия, размещенная на Linux/Nginx/MONO).
ServiceStack также упрощает создание веб-сервисов с твёрдым типом, которые содержат только код, который вам нужен, чтобы вернуть Список клиентских POCOs:
public class CustomersService : RestServiceBase<Customers>
{
public IDbConnectionFactory DbFactory { get; set; }
public override object OnGet(Customers request)
{
return new CustomersResponse { Customers = DbFactory.Exec(dbCmd =>
dbCmd.Select<Customer>())
};
}
Без другой конфигурации вы можете теперь вызывать вышеуказанный веб-сервис REST, полностью возвращающий все:
Вы можете вызвать вышеупомянутый веб-сервис, повторно используя те же DTO, что и ваши веб-службы, с помощью (т.е. не требуется генерация кода), используя ваш предпочтительный общий ServiceClient (например, Json, Xml и т.д.). Это позволяет вам называть ваши веб-сервисы с помощью строго типизированного API всего за 1 строку кода:
Пример синхронизации С#
IServiceClient client = new JsonServiceClient("http://host/service");
var customers = client.Send<CustomersResponse>(new Customers());
И поскольку ваши веб-сервисы также являются службами REST, он работает без проблем с JavaScript-серверами ajax, например:
Использование jQuery
$.getJSON("http://host/service", function(r) { alert(r.Customers.length); });
ASP.NET Web API теперь является основой Microsoft для создания служб RESTful.
Если вы новичок в REST в мире .net, начните с OpenRasta. Другие решения Microsoft могут выполнять REST, если вы много работаете над этим, но они проведут вас по маршруту, где вы, скорее всего, окажетесь с POD (Обычные старые данные) через HTTP. Это совсем не то, что REST. Если это все, что вам нужно, тогда это тоже круто, но это не REST.
Я никогда не сталкивался с каким-либо действительно хорошим руководством относительно того, как выбирать между этими параметрами. В ASP.NET MVC вы берете на себя большую часть расходов на водопровод, но также обладаете максимальным контролем. Straight RESTful WCF - это счастливая промежуточная площадка, хотя WCF стремится к тому, чтобы все было сделано. Службы ADO.NET Data Services являются довольно волшебными с недостатком полной покупки в данном подходе к созданию этих сервисов и большей гибкостью.
Есть несколько хороших книг, которые вы можете прочитать по теме RESTful-сервисов с .NET. Оба O'Reilly и Microsoft Press недавно выпустили книги по этой теме. Возможно, самым важным советом, который я могу вам предложить, является потребление и понимание нескольких открытых сервисов RESTful (например, Twitter, Amazon, Flickr), чтобы понять дизайнерские решения, которые входили в создание сервисов. Предоставление пользователей, механизм аутентификации и поддерживаемые типы контента (например, JSON, XML, RSS/ATOM) - вот некоторые из решений, которые вы можете наблюдать в действии, чтобы помочь вам на пути к созданию вашего API-сервисов.