1
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有什麼比使用客戶端的默認值手動清除請求的標題更清潔的方法嗎?
這正是我現在正在做的!但這是一個很好的答案。 –
@CoryNelson不幸的是,我還沒有發現任何暴露頭複製功能的庫。他們有內部的代碼,但沒有公開訪問。 –
是的,我想在某處可能有一個像'client.CreateResponse()'這樣的擴展方法。 –