Tôi đang cố ghi nhật ký tiêu đề phản hồi HTTP của dự án API Web của tôi.Không có tiêu đề phản hồi trong DelegatingHandler
Dự án được phát triển bởi VS2012, .NET 4.5 và ASP.NET MVC 4.
Tôi đã viết một lớp con DelegatingHandler
như thế này:
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;
});
}
}
Tuy nhiên, vấn đề là, tôi có thể không nhận được các giá trị tiêu đề từ response
. response.Headers
là bộ sưu tập trống, response.Content.Headers
không chứa gì ngoài khóa có tên Content-Type
và HttpContext.Current
là null
.
Tôi đã xem mã số WebAPIContrib sử dụng cùng một logic để ghi nhật ký tiêu đề, nhưng mã của chúng dường như không hoạt động.
Vậy làm cách nào để theo dõi các tiêu đề phản hồi HTTP trong dự án API Web?
Cùng một vấn đề ở đây. Bạn đã có một giải pháp? – erwineberhard
Không, không bao giờ phát hiện ra rằng –
Tôi đã giải quyết vấn đề bằng cách gửi tiêu đề phản hồi cho khách hàng thay vì thay đổi thông báo phản hồi trong trình xử lý ủy nhiệm. Dễ dàng hơn nhiều trong khung javascript của tôi! – erwineberhard