【发布时间】:2009-05-03 06:22:21
【问题描述】:
在 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)
可以在here 找到 MvcContrib 项目的 AcceptPost 文档。
AcceptGet 和 AcceptPost 似乎是为了填补早期版本的 ASP.NET Mvc 框架之一的空白而创建的。 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 枚举类型)哪个更好?
【问题讨论】:
标签: asp.net-mvc