HttpMethod和HttpRequest的RequestType有什么区别?

Ian*_*oyd 26 asp.net iis http httphandler httprequest

所述的HttpRequest类定义了两个属性:

HttpMethod:

获取客户端使用的HTTP数据传输方法(如GET,POST或HEAD).

public string HttpMethod { get; }  
Run Code Online (Sandbox Code Playgroud)

客户端使用的HTTP数据传输方法.

RequestType:

获取或设置客户端使用的HTTP数据传输方法(GET或POST).

public string RequestType { get; set; }
Run Code Online (Sandbox Code Playgroud)

表示客户端发送的HTTP调用类型的字符串.

这两个属性有什么区别?我什么时候想要使用另一个?哪个是检查以查看客户端使用的数据传输方法的正确方法?

文档表明HttpMethod将返回使用的动词:

例如GET,POST或HEAD

RequestType上的文档似乎只表示两个可能值中的一个:

GET或POST


我使用动词的随机抽样进行测试,这两个属性似乎都支持所有动词,并且都返回相同的值:

测试:

Client Used    HttpMethod    RequestType
GET            GET           GET
POST           POST          POST
HEAD           HEAD          HEAD
CONNECT        CONNECT       CONNECT
MKCOL          MKCOL         MKCOL
PUT            PUT           PUT
FOOTEST        FOOTEST       FOOTEST
Run Code Online (Sandbox Code Playgroud)

有什么区别:

  • HttpRequest.HttpMethod
  • HttpRequest.RequestType

什么时候应该使用另一个?

Dun*_*art 27

Reflector在内部显示RequestType调用HttpMethod.所以你打电话的时候会好一些HttpMethod.实际上我认为RequestType存在的真正原因是与传统ASP的向后兼容性.