.NetCore 如何取自定义http响应标头
public Task InvokeAsync(HttpContext context) {
var watch = new Stopwatch();
watch.Start();
context.Response.OnStarting(() => {
watch.Stop();
context.Response.Headers[RESPONSE_HEADER_TIME] = watch.ElapsedMilliseconds.ToString();
return Task.CompletedTask;
});
return this._next(context);
}
中间件写入响应标头后,怎么取出这个值
HttpContext.Request.Headers[XX],取不到自定义的值 。
回答
Response.Headers[RESPONSE_HEADER_TIME] 是将响应头发送给客户端浏览器,middleware 修改请求头直接 context.Request.Headers["xxx"] = "yyy";