ASP.NET MVCコントローラメソッドは、特定のHTTPメソッド(Get、Post、Getなど)を受け入れるように装飾できます。 MvcContribとASP.NET MVCの間には、 "AcceptGet、AcceptPost"とAcceptVerbsという3つのクラスがあります。 3つすべて: "AcceptGet、AcceptPost"とAcceptVerbsは同じことをします。アクション/メソッドにアクセスするためにどのhttpメソッドが許可されているかを指定します。どちらを使用するか: "AcceptGet、AcceptPost"(MvcContrib)とAcceptVerbs(ASP.NET MVC)?
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)
MvcContribプロジェクトのAcceptPostのドキュメントはhere見つけることができます。
AcceptGetとAcceptPostは、以前のバージョンのASP.NET Mvcフレームワークのギャップを埋めるために作成されました。 AcceptGetクラスとAcceptPostクラスは、厳密に型指定されたHttpMethod属性を提供しました。 (HttpVerbs列挙型に)
[Flags]
public enum HttpVerbs
{
Delete = 8,
Get = 1,
Head = 0x10,
Post = 2,
Put = 4
}
私の質問は、より高度な実装である1 AcceptGet/AcceptPostまたはAcceptVerbsです:
ASP.NET MVCは、列挙型を取るAcceptVerbsでリリース!