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中的响应添加标题,则可以访问控制器中继承自ASPControllerBase
类的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");