我想给一个HttpRequestMessage添加头部信息。问题是HttpRequestHeaders没有构造函数,HttpHeaders是抽象的......
有没有办法在我们的代码中使用这些类(我可以使用List<Tuple<string, List<string>>
,但是看起来不太好)
我想给一个HttpRequestMessage添加头部信息。问题是HttpRequestHeaders没有构造函数,HttpHeaders是抽象的......
有没有办法在我们的代码中使用这些类(我可以使用List<Tuple<string, List<string>>
,但是看起来不太好)
HttpRequestMessage已经拥有一个HttpRequestHeaders实例,并且您无法更改它。您可以像这样添加标头:
message.Headers.Add("X-Hello", "world");
HttpHeaders
的空实例:var headers = new HttpClient().DefaultRequestHeaders;
var headers = new HttpResponseMessage().Headers;
var headers = new HttpRequestMessage().Headers;
你也可以创建一个扩展HttpHeaders
的类并使用它。
public abstract class HttpHeaders : IEnumerable<KeyValuePair<string, IEnumerable<string>>>, IEnumerable
。 - DaveNameValueCollection
或List<KeyValuePair<string, string>>
来代替字典,因为标头可以出现多次且顺序可能很重要。我同意使用HttpHeaders
会更好。 - Sjoerd