In ASP.NET MVC-Controller-Methoden können eingerichtet werden, um auf bestimmte HTTP-Methoden (Get, Post, Get .. etc) zu akzeptieren. Zwischen MvcContrib und ASP.NET MVC gibt es 3 Klassen: "AcceptGet, AcceptPost" und AcceptVerbs. Alle drei: "AcceptGet, AcceptPost" und AcceptVerbs machen dasselbe. Sie geben an, welche http-Methode auf eine Aktion/Methode zugreifen darf.Welche verwenden: "AcceptGet, AcceptPost" (MvcContrib) vs. AcceptVerbs (ASP.NET Mvc)?
AcceptGet und AcceptPost sind im MvcContrib. Während AcceptVerbs nativ für das Mvc-Framework ist. Was ist besser zu benutzen?
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)
Dokumentation für die AcceptPost des MvcContrib Projekt kann here finden.
Es scheint, dass AcceptGet und AcceptPost erstellt wurden, um eine Lücke in einer der früheren Versionen des ASP.NET Mvc-Frameworks zu füllen. Die Klassen AcceptGet und AcceptPost enthielten ein stark typisiertes HttpMethod-Attribut.
ASP.NET MVC mit AcceptVerbs veröffentlicht, die eine ENUM nimmt:
[Flags]
public enum HttpVerbs
{
Delete = 8,
Get = 1,
Head = 0x10,
Post = 2,
Put = 4
}
Meine Frage ist, welche eine bessere Umsetzung, AcceptGet/AcceptPost oder AcceptVerbs (mit HttpVerbs Aufzählungstyp)?