我正在尝试记录我的 Web API 项目的 HTTP 响应标头。
该项目由 VS2012、.NET 4.5 和 ASP.NET MVC 4 开发。
我写了一个这样的DelegatingHandler
子类:
public class LoggingHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
// Execute the request
return base.SendAsync(request, cancellationToken).ContinueWith(task =>
{
var response = task.Result;
return response;
});
}
}
但是,问题是,我无法从response
. response.Headers
是一个空集合,response.Content.Headers
只包含一个名为 的键Content-Type
,并且HttpContext.Current
是null
。
我看过WebAPIContrib的代码,它使用相同的逻辑来记录标题,但它们的代码似乎也不起作用。
那么我应该如何跟踪 Web API 项目中的 HTTP 响应标头呢?