什么是ActionResult AcceptVerbsAttribute默认的HTTP方法?

Ian*_*ley 3 asp.net-mvc

我知道您可以通过添加AcceptVerbsAttribute来限制特定ActionResult方法响应的HTTP方法,例如

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index() {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我想知道:ActionResult方法在没有显式[AcceptVerbs(...)]属性的情况下会接受哪些HTTP方法?

我认为它是GET,HEADPOST但只是想要仔细检查.

谢谢.

eu-*_*-ne 5

没有AcceptVerbsAttribute你的Action意愿接受任何HTTP方法的请求.顺便说一句,您可以限制RouteTable中的HTTP方法:

routes.MapRoute(
    "Default",                                              // Route name
    "{controller}/{action}/{id}",                           // URL with parameters
    new { controller = "Home", action = "Index", id = "" }, // Parameter defaults
    new { HttpMethod = new HttpMethodConstraint(
        new[] { "GET", "POST" }) }                          // Only GET or POST
);
Run Code Online (Sandbox Code Playgroud)