Отсутствующие HTTP-глаголы в MVC

Я пытаюсь создать простой сервер CalDav с использованием ASP.NET MVC 3, но отсутствие отсутствующих HTTP-глаголов сбило меня с толку.

Как я могу их добавить и использовать? Может быть, я мог бы создать ActionFilter для каждого из отсутствующих родных ...

RFC 4791 говорит, что протокол CalDav может использовать все эти глаголы

OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, < em> КОПИРОВАТЬ, ПЕРЕМЕСТИТЬ, PROPFIND, PROPPATCH, LOCK, UNLOCK, REPORT, ACL

Полужирным шрифтом показаны собственные глаголы MCV3, а курсивом - те, которые я хочу реализовать, чтобы создать простой CalDav (будет открытым исходным кодом в GIT, с использованием Библиотека DDay.iCal, но мне просто нужно начать) :)

Есть ли что-нибудь, чего я не могу там найти?


person balexandre    schedule 05.09.2011    source источник
comment
у вас была возможность начать работу над этим проектом?   -  person nathan gonzalez    schedule 08.11.2011


Ответы (1)


Взгляните на AcceptVerbsAttribute. Требуется строковый массив, который, как я полагаю, вы можете предоставить тем, что ищете.

person Daniel A. White    schedule 05.09.2011
comment
Я смотрел ActionMethodSelectorAttribute ... посмотрю и на него! - person balexandre; 05.09.2011
comment
@Daniel - Требуется ли атрибут AcceptVerbsAttribute для PUT и DELETE? GET / POST, очевидно, работают прямо из коробки. - person one.beat.consumer; 23.12.2011
comment
@ one.beat.consumer Нет, если вы не хотите явно фильтровать запросы. - person Daniel A. White; 23.12.2011
comment
Спасибо за это. Я использовал его, чтобы реализовать действие для OPTIONS. - person Jason Suárez; 12.04.2012