我需要检查RequestType的HttpRequest在ASP.NET(或WebRequest.Method)。我知道我可以只将字符串值“ POST”或“ GET”用于请求类型,但是我可能发誓在.NET中某个类中的某个地方包含一个常量,这些常量包含这些值。
出于好奇,我想知道是否有人知道这些字符串常量用于什么类,GET并且POST在其中。我曾尝试在线搜索,但没有运气,所以我想在这里问。
Answers:
System.Net.WebRequestMethods.Http
.Connect = "CONNECT"
.Get = "GET"
.Head = "HEAD"
.MkCol = "MKCOL"
.Post = "POST"
.Put = "PUT"
最终,尽管如此;由于const表达式已被烧录到调用方中,因此这与使用“ GET”等相同,只是没有输入错误的风险。
PATCH动词也丢失了。
也存在System.Net.Http.HttpMethod可以代替枚举的服务。您可以比较它们aMethod == HttpMethod.Get,等等。要获取字符串方法名称,请调用HttpMethod.Get.Method。
void Request(HttpMethod method = HttpMethod.Get))传递。
HttpMethod.Get.Method不是编译时间常量:(其中System.Net.WebRequestMethods.Http常量
在ASP.NET Core中,您可以在名称空间下的HttpMethods.cs类中找到http方法字符串的集合Microsoft.AspNetCore.Http。
此类还提供布尔帮助器,例如IsGet()或IsPost()以获得更好的语义。
请注意,这些字符串以public static readonly string和不以公开constants。