HttpClient
具有方便特性DefaultRequestHeaders
定义默认标头被包括在任何请求。
我想这适用于网页API配料的支持,但我注意到,这些默认标题不应用于多部分HttpMessageContent
请求:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Some-Header, "foobar");
var batchContent = new MultipartContent("mixed");
foreach(var x in something)
{
// these inner requests don't get default headers.
HttpRequestMessage msg = MakeRequestFromSomething(x);
batchContent.Add(new HttpMessageContent(msg));
}
// only this outer one does.
var results = await client.PostAsync("/batch", batchContent);
这种行为很有道理,但我仍然在寻找一种方式来头适用于内请求。 是否HttpClient的或Web API有什么让这样做比手动清除请求的头部信息和与客户端的默认值替换它们清洁?