Web APIプロジェクトのHTTP応答ヘッダーを記録しようとしています。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;
});
}
}
しかし、問題は私ができる、次のとおりです。
プロジェクトは、私はこのようなDelegatingHandler
サブクラスが書いてきたVS2012、.NET 4.5およびASP.NET MVC 4
によって開発されましたresponse
からヘッダーの値を取得しません。 response.Headers
は空のコレクションで、という名前のキーだけを含むresponse.Content.Headers
があり、HttpContext.Current
はnull
です。
WebAPIContribのコードでは、同じロジックを使用してヘッダーを記録していますが、そのコードは動作していないようです。
Web APIプロジェクトでHTTP応答ヘッダーをどのようにトレースする必要がありますか?
ここに同じ問題があります。解決策はありますか? – erwineberhard
いいえ、決して見つからなかった –
私は、委任ハンドラの応答メッセージを変更する代わりに、応答ヘッダをクライアントに送信することでこの問題を解決しました。私のjavascriptフレームワークでもかなり簡単です! – erwineberhard