Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问HttpResponseMessage中的x-requestid_C#_Rest_Asp.net Core - Fatal编程技术网

C# 访问HttpResponseMessage中的x-requestid

C# 访问HttpResponseMessage中的x-requestid,c#,rest,asp.net-core,C#,Rest,Asp.net Core,请参阅下面的代码: [HttpPut] public async Task<IActionResult> CreatePerson([FromBody]CreatePersonCommand command, [FromHeader(Name = "x-requestid")] string requestId) { .. } 是否可以在web api项目发送的响应中访问客户端的x-requestid?如果您的HttpClient来自System.Net.Http 如果您需

请参阅下面的代码:

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

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

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

如果您需要获得价值:

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

response.Headers.TryGetValues("x-requestid", out var headerValues);
如果需要向Web API中的响应添加标题,则可以访问控制器中继承自ASP
ControllerBase
类的
response
实体:

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

最后一句的措辞让我有点困惑。你能澄清一下吗?你在问你是否能在
响应
对象中得到标题值?@MarkC。我也不确定这一点。@markc,是的。抱歉造成混淆。如果您试图从响应中获取它,答案将是肯定的,但前提是web api在响应中填充它。我假设,由于web api试图绑定到它,因此它包含在请求中。只有当web pi添加它时,它才会出现在响应中。如何将x-requested添加到web api的响应中?我通过创建HttpClientRequestEdedLegatingHandler类将其添加到MVC客户端的请求中。谢谢。如何在web api中将标题添加到响应中。我假设我必须创建一个类,它扩展了一些东西?@w0051977再次检查更新。很抱歉,您的问题从一开始就有点不清楚
Response.Headers.Add("x-requestid", "value");