ฉันกำลังพยายามบันทึก HTTP Response Headers ของโปรเจ็กต์ Web API ของฉัน
โครงการนี้พัฒนาโดย 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 ซึ่ง ใช้ตรรกะเดียวกันเพื่อบันทึกส่วนหัว แต่ดูเหมือนว่ารหัสจะไม่ทำงานเช่นกัน
ดังนั้นฉันจะติดตาม HTTP Response Headers ในโครงการ Web API ได้อย่างไร