Я почти уверен, что ASP.NET MVC поддерживает все HTTP-глаголы с самого начала. По крайней мере, у HttpVerb Enumeration они были с самого начала. Единственное, что нового в V2 - это то, что они являются атрибутами.
// V1
[AcceptVerbs( HttpVerbs.Delete )]
// V2
[HttpDelete]
Шесть из одного, полдюжины из другого. Что касается того, хотите ли вы предоставить функциональность через WCF или ASP.NET MVC, все будет зависеть от того, как вы относитесь к своему приложению.
Если вы думаете о нем как о толстом клиентском приложении, которое просто написано на JavaScript и обращается к релакс-сервисам для данных (затем форматирует их на стороне клиента), то WCF будет выглядеть как более правильное решение (даже если вы можете сделать это с помощью любого из них).
Однако, если вы рассматриваете свое приложение как серверное приложение, которое возвращает контент в той или иной форме для потребления, то использование RESTful API для ваших действий будет более целесообразным. Ваши действия вернут полностью отформатированный контент, который будет отображаться в браузере без дальнейшей обработки. Вы могли бы возвращать отформатированный контент (HTML или другой) из веб-службы, но это было бы как-то неправильно.
По крайней мере, такое различие имеет смысл в моей голове =). Вас также может заинтересовать сообщение Фила Хаака о Как метод становится действием .
Теперь есть еще одна опция, Web API . ScottGu имеет краткое введение в своем блоге, и есть интересное сообщение в блоге, в котором обсуждается создание API с использованием Web API против контроллеров здесь .