在HttpResponseMessage中访问x-requestid

时间:2019-04-17 13:17:18

标签: c# rest asp.net-core

请参见下面的代码:

[HttpPut]
public async Task<IActionResult> CreatePerson([FromBody]CreatePersonCommand command, [FromHeader(Name = "x-requestid")] string requestId)
{
    ..
}

这是一个Web api方法,可供另一个项目访问。

客户端代码如下:

var response = await _httpClient.PutAsync(uri, personContent);

是否可以从Web api项目发送的响应中在客户端访问x-requestid?

1 个答案:

答案 0 :(得分:-1)

如果您的HttpClient来自System.Net.Http

如果您需要获得价值:

var response = await _httpClient.PutAsync(uri, personContent);

response.Headers.TryGetValues("x-requestid", out var headerValues);

如果您需要在Web API中向响应添加标头,则可以访问控制器中的Response实体,该实体继承自ASP ControllerBase类:

Response.Headers.Add("x-requestid", "value");