ASP.NET Web API如何将“请求标头”排序到标头集合中?

时间:2013-07-04 10:57:07

标签: asp.net asp.net-web-api dotnet-httpclient

我试图在ASP.NET Web API中的自定义委托处理程序中读取Content-Type标头的值。当我查询request.Headers集合时,标头值不在那里。但是,它包含在request.Content.Headers中。其他以Content-Test开头的非标准标头(例如Content-)仅在request.Headers中提供;另一方面,Content-Length只能在request.Content.Headers内找到,就像Content-Type一样。

假设Web API将所有已知内容标头放入request.Content.Headers集合,同时将所有其他标头放入request.Headers,这是否正确?

1 个答案:

答案 0 :(得分:2)

这就是HttpClient首先设计的方式。请求和响应与实际内容是分开的,因此与内容相关的cookie会进入HttpContent.Headers而不是HttpRequestMessage.Headers。保持内容标题与内容是分离问题的好方法,另一方面,获取内容标题有点麻烦。