我试图在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
,这是否正确?
答案 0 :(得分:2)
这就是HttpClient
首先设计的方式。请求和响应与实际内容是分开的,因此与内容相关的cookie会进入HttpContent.Headers
而不是HttpRequestMessage.Headers
。保持内容标题与内容是分离问题的好方法,另一方面,获取内容标题有点麻烦。