Таким образом, я вижу, что MVC 2 теперь поддерживает [HttpPut]
и [HttpDelete]
а также [HttpGet]
и [HttpPost]
, позволение сделать полный УСПОКОИТЕЛЬНЫЙ веб-сервис с помощью него.
Я использовал остальных инструментарий для WCF некоторое время и нахожу это довольно мощным, но мне было бы интересно узнавать то, что (если таковые имеются) преимущества там используют подход MVC 2.
Ссылки, военные истории или даже чистый слух приветствуются.
Я почти уверен, что ASP.NET MVC с самого начала поддерживает все HTTP-команды. По крайней мере, HttpVerb Enumeration имеет их с самого начала. Единственное, что нового в версии 2, - это то, что они являются атрибутами.
// V1
[AcceptVerbs( HttpVerbs.Delete )]
// V2
[HttpDelete]
Шесть из одного, полдюжины из другого. Что касается того, хотите ли вы предоставить функциональность через WCF или ASP.NET MVC, это будет зависеть от того, как вы думаете о своем приложении.
Если вы думаете об этом как о толстом клиентском приложении, которое просто написано на JavaScript и обращается к успокаивающим службам для данных (затем форматирует их на стороне клиента), то WCF будет казаться более правильным решение (даже если вы могли бы сделать это с помощью любого из них).
Однако, если вы думаете о своем приложении как о серверном приложении, которое возвращает контент в той или иной форме для потребления, тогда использование RESTful API для ваших действий будет более разумным. Ваши действия вернут полностью отформатированный контент, который будет отображаться в браузере без необходимости дальнейшей обработки. Вы могли возвращать форматированный контент (HTML или иначе) из веб-службы, но это было бы неправильно.
По крайней мере, такое различие имеет смысл в моей голове =). Вас также может заинтересовать сообщение Фила Хаака о Как метод становится действием .
Теперь есть еще один вариант, Веб-API . ScottGu имеет краткое введение в своем блоге, и есть интересная запись в блоге, в которой обсуждается создание API-интерфейсов с использованием веб-API и контроллеров здесь .
Вам следует проверить интересный Блог pledersofgiants , который написал серию сообщений о создании RESTful WebService с помощью ASP.Net MVC.
от Часть 1 до Часть 21 вы можете найти некоторую интересную информацию. И он еще даже не дочитал ... хорошее чтение.
Мы используем ASP.Net MVC 1.0 для создания служб JSON.
Для этого есть несколько причин:
Мы обнаружили, что очень легко использовать для возврата ActionResult с данными в формате JSON
public ActionResult GetData (string id)
{
if (string.IsNullOrEmpty (id)) {{ 1}} {
throw new ArgumentNullException ("id", "Searchvalue must be provided.");
}
// Где Provider.GetData возвращает IEnumerable
return Json (Provider.GetData (id));
}