ОТДЫХ на IIS

Мне интересно, сколько людей, использующих стек разработки Microsoft (IIS и/или ASP.NET), фактически используют REST? Если да, то какие формы отдыха используются?

REST можно классифицировать по миллиону, но для этого вопроса я буду классифицировать его следующим образом:

  • Радикально REST: использование всех Методы HTTP PUT/POST/GET/DELETE
  • Умеренный REST: использование GET/POST
  • REST Hybrid: использует только GET или POST HTTP, но следует RESTful принципы адресности и состояние.

В классе, который я преподаю, мы пытались внедрить услугу "Rallyful RESTful" в IIS, но у нас возникли трудности с внедрением метода PUT. Кажется, не слишком много шума при реализации PUT на IIS, поэтому мне интересно, сколько людей фактически использует полномасштабный REST? Вы используете REST?

Ответ 1

Я думаю, что причиной отсутствия шума вокруг REST в стеке IIS стало первоначальное внедрение SOAP в Microsoft, как способ, правда и свет, когда дело касалось веб-сервисов - особенно с Windows Communication Foundation, в значительной степени ориентированной на SOAP.

Они продолжили выпуск WCF REST Starter Kit, чтобы следить за выпуском .NET 3.5, а также ADO. NET, которые являются частью .NET 3.5 SP1.

Как Магнус указывает, с тех пор Microsoft выпустила ASP.NET Web API, который основывается на возможностях платформы ASP.NET MVC для обеспечения единого подхода к службам RESTful в IIS.

ASP.NET Web API - это платформа, которая упрощает создание HTTP-сервисов, которые охватывают широкий круг клиентов, включая браузеры и мобильные устройства. ASP.NET Web API - идеальная платформа для создания приложений RESTful на платформе .NET Framework.

Ответ 2

Я участвую в проекте, который использует WCF REST для IIS, но, конечно же, я бы рекомендовал взглянуть на структуру, которую я построил: OpenRasta - это стежок с открытым исходным кодом .net, который значительно упрощает реализацию REST.

Google - ваш друг. Основной сайт http://trac.caffeine-it.com/openrasta.

Ответ 3

WCF Rest Toolkit, упомянутый в ответе от "Zhaph - Ben Duguid", теперь устарел.
Теперь он заменен проектом веб-API WCF.

Изменение: Который теперь также устарел и заменен ASP.NET Web API!

Ответ 4

Это зависит от того, как вы к нему подходите.

По умолчанию IIS ограничивает глаголы страницами ASP.NET для GET, HEAD, POST и DEBUG. Вы, конечно, можете сказать, что принимаете PUT, редактируя отображение обработчика. Предполагая, что вы хотели иметь собственное расширение, вы сделали бы что-то вроде

<httpHandlers>
    <add path="*.example" type="System.Web.UI.PageHandlerFactory" verb="GET, HEAD, POST, PUT, DELETE, DEBUG"/>
</httpHandlers>

Если вы хотите переназначить .aspx, вы, конечно, можете так же, предполагая, что сервер настроен так, чтобы вы/

Ответ 5

Я уверен, что службы данных ADO.NET Microsoft используют службы RESTful. Возможно, стоит проверить... кроме спокойствия, это действительно крутая технология.

Здесь выдержка из белой бумаги на нем:

Цель Microsoft® ADO.NET Data Services - предоставить приложениям возможность предоставлять данные в виде службы данных, которые могут быть использованы веб-клиентами в корпоративных сетях и через Интернет. Служба данных доступна через обычные HTTP-запросы, используя стандартные HTTP-глаголы, такие как GET, POST, PUT и DELETE для выполнения операций CRUD с сервисом. Формат полезной нагрузки, используемый службой, управляется приложением, но все параметры являются простыми, открытыми форматами, такими как JSON и Atom/APP.

Здесь белая бумага и главная страница (по крайней мере, я думаю, что это домашняя страница)

HTHS, Чарльз

Ответ 6

Какая версия IIS? В IIS6 вам нужно включить WebDAV для включения запросов PUSH (нет, я не думаю, что это имеет смысл:-)). Я не думаю, что случай в IIS7, хотя.

Ответ 8

Я использую класс .Net, HttpListener, который является механизмом веб-сервера IIS (http.sys) без инструментов администрирования IIS. Я обрабатываю все HTTP-глаголы. Вы можете добавить к нему время выполнения ASP.Net, если хотите, но вам не нужно.

Фактически в нескольких случаях мы внедрили версию PATCH в качестве эксперимента. После того как вы перейдете к основам, глагол - это просто строка в одном из HTTP-заголовков.

На самом деле вы не можете классифицировать REST в миллионах способов. Существуют способы использования HTTP для создания распределенных приложений, но существует только один определение REST.