Ho bisogno di nascondere determinate intestazioni generate da ASP.NET e IIS e restituite nelle risposte da un servizio WebAPI di ASP.NET. Le intestazioni ho bisogno di mascherare sono:Rimozione delle intestazioni dalla risposta
- Server
- X-aspnet-Version
- X-AspNetMvc-Version
- X-Powered-By
il servizio era in precedenza ospitati in WCF, e il cloaking è stato fatto in un HttpModule sottoscrivendo PreSendRequestHeaders e manipolando HttpContext.Current.Response.Headers. Con ASP.NET WebAPI tutto è ora basato su attività, quindi HttpContext.Current è null. Ho provato a inserire un gestore di messaggi e a manipolare HttpResponseMessage restituito, ma le intestazioni non erano presenti in quella fase. X-Powered-By può essere rimosso nelle impostazioni di IIS, ma qual è il modo suggerito per rimuovere il resto di loro?
Avevi ragione. Sono stato in grado di rimuoverli tutti (incluso il Server) in HttpModule. L'unico problema era come ho ottenuto un riferimento a HttpContext: HttpContext.Current restituisce null, ma HttpApplication.Context sull'istanza HttpApplication passata a HttpModule restituisce un'istanza valida. –