В ASP.NET MVC методы контроллера могут быть оформлены для принятия на определенных HTTP-методах (Get, Post, Get .. и т. Д.). Между MvcContrib и ASP.NET MVC существует 3 класса: «AcceptGet, AcceptPost» и AcceptVerbs. Все три: «AcceptGet, AcceptPost» и AcceptVerbs делают одно и то же. Они указывают, какой метод http разрешен для доступа к действию / методу.
AcceptGet и AcceptPost находятся в MvcContrib. В то время как AcceptVerbs является родным для фреймворка Mvc. Что лучше использовать?
AcceptGet / AcceptPost (MvcContrib)
/// <returns></returns>
[AcceptGet]
public ActionResult Profile(string id)
AcceptVerbs (ASP.NET Mvc)
/// <returns></returns>
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult EditRequest(string id)
Документацию для AcceptPost проекта MvcContrib можно найти здесь .
Похоже, что AcceptGet и AcceptPost были созданы, чтобы заполнить пробел в одной из более ранних версий ASP.NET Mvc Framework. Классы AcceptGet и AcceptPost предоставили строго типизированный атрибут HttpMethod.
ASP.NET MVC, выпущенный с AcceptVerbs, который принимает перечисление:
[Flags]
public enum HttpVerbs
{
Delete = 8,
Get = 1,
Head = 0x10,
Post = 2,
Put = 4
}
У меня вопрос: какая из реализаций лучше - AcceptGet / AcceptPost или AcceptVerbs (с типом перечисления HttpVerbs)?