J'ai besoin de vérifier le RequestType
d'un HttpRequest
dans ASP.NET (ou WebRequest.Method
). Je sais que je peux simplement utiliser les valeurs de chaîne " POST
" ou " GET
" pour le type de requête, mais j'aurais juré qu'il y avait une constante quelque part dans une classe de .NET qui contenait les valeurs.
Par curiosité , je me demandais si quelqu'un savait quelle classe ces constantes de chaîne GET
et POST
ont été. Je l' ai essayé la recherche en ligne , mais je l' ai pas eu de chance, donc je pensais que je demande ici.
PATCH
le verbe est également manquant.Existe également
System.Net.Http.HttpMethod
qui peut servir à la place d'énumération. Vous pouvez les compareraMethod == HttpMethod.Get
, etc. Pour obtenir un nom de méthode de chaîne, appelez par exempleHttpMethod.Get.Method
.la source
void Request(HttpMethod method = HttpMethod.Get)
).HttpMethod.Get.Method
n'est PAS une constante de temps de compilation: (oùSystem.Net.WebRequestMethods.Http
sont les constantesDans ASP.NET MVC, ils sont dans System.Web.Mvc.HttpVerbs . Mais toutes les méthodes qui prennent l'une de ces valeurs d'énumération ont également un remplacement de texte, car il n'y a pas d'ensemble complet de verbes HTTP, seulement un ensemble de valeurs actuellement définies (voir ici et ici et ici ).
Vous ne pouvez pas créer une énumération qui couvre tous les verbes, car il est possible que des verbes puissent être ajoutés, et les énumérations ont des problèmes de version qui rendent cela impossible.
la source
Dans ASP.NET Core, vous trouverez une collection de chaînes de méthode http dans la classe HttpMethods.cs sous l'
Microsoft.AspNetCore.Http
espace de noms.Cette classe propose également des aides booléennes telles que
IsGet()
ouIsPost()
pour une meilleure sémantique.Veuillez noter que ces chaînes sont exposées comme
public static readonly string
et non commeconstants
.la source