Tôi cần phải che giấu một số tiêu đề được tạo bởi ASP.NET và IIS và được trả về trong các phản hồi từ dịch vụ ASP.NET WebAPI. Các tiêu đề tôi cần để cloak là:Xóa tiêu đề khỏi phản hồi
- server
- X-ASPNET-Version
- X-AspNetMvc-Version
- X-Powered-By
Dịch vụ này được sớm tổ chức trong WCF, và kỹ thuật che giấu được thực hiện trong một HttpModule bằng cách đăng ký PreSendRequestHeaders và thao tác HttpContext.Current.Response.Headers. Với ASP.NET WebAPI tất cả mọi thứ bây giờ là nhiệm vụ dựa, vì vậy HttpContext.Current là null. Tôi đã cố gắng để chèn một trình xử lý tin nhắn và điều khiển HttpResponseMessage trả về, nhưng các tiêu đề không xuất hiện trên sân khấu đó. X-Powered-By có thể được gỡ bỏ trong các thiết lập IIS, nhưng cách đề xuất để loại bỏ phần còn lại của chúng là gì?
Bạn đã đúng. Tôi đã có thể loại bỏ tất cả (bao gồm cả Server) trong HttpModule. Vấn đề duy nhất là làm thế nào tôi có một tham chiếu đến HttpContext: HttpContext.Current trả về null, nhưng HttpApplication.Context trên thể hiện HttpApplication được truyền cho HttpModule trả về một cá thể hợp lệ. –