Ich muss bestimmte Header, die von ASP.NET und IIS generiert und in den Antworten von einem ASP.NET-WebAPI-Dienst zurückgegeben werden, verdecken. Die Header Ich brauche zum Tarnen sind:Entfernen von Headern von der Antwort
- Server
- X-ASPNET-Version
- X-AspNetMvc-Version
- X-Powered-By
Der Dienst wurde früher gehostet in WCF, und das Cloaking wurde in einem HttpModule durchgeführt, indem PreSendRequestHeaders abonniert und HttpContext.Current.Response.Headers manipuliert wurde. Mit ASP.NET WebAPI ist jetzt alles aufgabenbasiert, also ist HttpContext.Current null. Ich habe versucht, einen Message-Handler einzufügen und die zurückgegebene HttpResponseMessage zu manipulieren, aber die Header waren auf dieser Stufe nicht vorhanden. X-Powered-By kann in den IIS-Einstellungen entfernt werden, aber wie wird der Rest entfernt?
Sie hatten Recht. Ich konnte sie alle (einschließlich Server) im HttpModule entfernen. Das einzige Problem war, wie ich einen Verweis auf den HttpContext bekam: HttpContext.Current gibt null zurück, aber HttpApplication.Context in der HttpApplication -Instanz, die an das HttpModule übergeben wird, gibt eine gültige Instanz zurück. –