【发布时间】:2017-04-28 10:56:12
【问题描述】:
在验证设置中,我想更改 HttpRequestMessage 的标头值。
在HttpClientHandler 我有以下代码:
protected override async Task<HttpResponseMessage>
SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
//some condition when to alter the header
//does not work: value is read only
request.Headers.Single(c => c.Key == "FooHeader").Value =
new List<string>({"aha!"});
//does not work: cannot apply indexer
request.Headers["FooHeader"] = "aha!";
//does work but seems a bit overkill, besides I need to check if it exists
request.Headers.Remove("FooHeader");
request.Headers.Add("FooHeader", "aha!");
}
有没有更直观的方法来实现这一点?
【问题讨论】:
标签: c# .net httprequest