ОТДЫХ на 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, хотя.
Ответ 7
В этой статье есть хорошая статья блога обо всех этих методах в контексте REST:
http://reinout.vanrees.org/research/phd/various-stuff/getputpostdelete
Ответ 8
Я использую класс .Net, HttpListener, который является механизмом веб-сервера IIS (http.sys) без инструментов администрирования IIS. Я обрабатываю все HTTP-глаголы. Вы можете добавить к нему время выполнения ASP.Net, если хотите, но вам не нужно.
Фактически в нескольких случаях мы внедрили версию PATCH в качестве эксперимента. После того как вы перейдете к основам, глагол - это просто строка в одном из HTTP-заголовков.
На самом деле вы не можете классифицировать REST в миллионах способов. Существуют способы использования HTTP для создания распределенных приложений, но существует только один определение REST.