如何将标头添加到httprequestmessage

Dav*_*ave 13 c#

我想将标头添加到HttpRequestMessage.问题是HttpRequestHeaders没有构造函数,HttpHeaders是抽象的,.... 有什么方法可以在我们的代码中的某个地方使用这些类(我可以使用 List<Tuple<string, List<string>>但看起来并不好看)

Sjo*_*erd 31

HttpRequestMessage已经有一个HttpRequestHeaders实例,您无法更改它.您可以添加如下标题:

message.Headers.Add("X-Hello", "world");
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要`NameValueCollection`或`List <KeyValuePair <string,string >>`而不是字典,因为标题可能会多次出现,顺序可能很重要.我同意使用HttpHeaders会更好. (4认同)

Sjo*_*erd 6

您可以通过HttpHeaders以下方式之一获取空实例:

var headers = new HttpClient().DefaultRequestHeaders;
var headers = new HttpResponseMessage().Headers;
var headers = new HttpRequestMessage().Headers;
Run Code Online (Sandbox Code Playgroud)

您也可以创建自己的扩展HttpHeaders和使用它的类.