use*_*839 13 c# httpclient asp.net-web-api asp.net-web-api2
什么时候我们应该在HttpClient中的头文件中使用HttpRequestMessage对象中的头文件?
我们需要添加授权(始终更改)和少量自定义标头(始终更改)
问题
我应该在HttpClient和HttpRequestMessage对象的基于请求的头部添加公共头(在所有请求中相同)吗?
//HttpRequestMessage Code
HttpRequestMessage reqmsg =new HttpRequestMessage();
reqmsg.Headers.Authorization =new AuthenticationHeaderValue("some scheme");
reqmsg.Headers.Add("name","value");
//HttpClient Code
HttpClient client =new HttpClient();
client.DefaultRequestHeaders.Authorization =new AuthenticationHeaderValue("some scheme");
client.DefaultRequestHeaders.Add("name", "value");
Run Code Online (Sandbox Code Playgroud)Mat*_*zer 15
- 哪种方法首选?我应该在HttpClient中添加公共标头(在所有请求中都相同)
- 和请求基于HttpRequestMessage对象的头?
您的问题会自动自动回答.
DefaultRequestHeaders是任何请求的一部分,这是一个加号,因为你将能够避免重复自己再次添加一些标题.另一方面,HttpRequestMessage.Headers将只是该请求的一部分.
什么时候应该使用另一个?我将使用两个例子:
我需要发送OAuth承载令牌作为每个请求的一部分,所以我设置了Authorization标头HttpClient.DefaultRequestHeaders,如果我需要刷新令牌,我只需要在那里再次设置它.
我需要发送一个序列化为JSON或XML的实体,具体取决于某些条件.也就是说,我将按Content-type请求设置标头.
| 归档时间: |
|
| 查看次数: |
9162 次 |
| 最近记录: |