Saya perlu memeriksa RequestType
dari sebuah HttpRequest
di ASP.NET (atau WebRequest.Method
). Saya tahu bahwa saya hanya dapat menggunakan nilai string " POST
" atau " GET
" untuk jenis permintaan, tetapi saya dapat bersumpah ada suatu konstanta di suatu tempat di beberapa kelas di .NET yang berisi nilai.
Karena penasaran saya bertanya-tanya apakah ada yang tahu untuk kelas apa konstanta string ini GET
dan POST
berada. Saya telah mencoba mencari secara online tetapi saya tidak berhasil, jadi saya pikir saya akan bertanya di sini.
PATCH
kata kerja juga hilang.Juga ada
System.Net.Http.HttpMethod
yang bisa berfungsi sebagai pengganti enum. Anda dapat membandingkannyaaMethod == HttpMethod.Get
, dll. Untuk mendapatkan panggilan nama metode string misHttpMethod.Get.Method
.sumber
void Request(HttpMethod method = HttpMethod.Get)
).HttpMethod.Get.Method
BUKAN merupakan konstanta waktu kompilasi :( di manaSystem.Net.WebRequestMethods.Http
adalah konstantaDi ASP.NET MVC mereka berada di System.Web.Mvc.HttpVerbs . Tetapi semua metode yang menggunakan salah satu dari nilai enum ini juga memiliki penggantian teks, karena tidak ada kumpulan lengkap kata kerja HTTP, hanya kumpulan nilai yang saat ini ditentukan (lihat di sini dan di sini dan di sini ).
Anda tidak dapat membuat enumerasi yang mencakup semua kata kerja, karena ada kemungkinan kata kerja dapat ditambahkan, dan enumerasi memiliki masalah versi yang membuat hal ini tidak praktis.
sumber
Di ASP.NET Core Anda akan menemukan kumpulan string metode http di kelas HttpMethods.cs di bawah
Microsoft.AspNetCore.Http
namespace.Kelas ini juga menawarkan pembantu boolean seperti
IsGet()
atauIsPost()
untuk semantik yang lebih baik.Harap dicatat bahwa string ini diekspos sebagai
public static readonly string
dan bukan sebagaiconstants
.sumber