新的Web API 2.0项目,因此我们可以完全控制整个请求/响应管道.
我们如何从ASP.NET Web API响应发送的响应中删除“X-”标头?具体来说,目前并且总是会有变化,我们要删除“X-AspNet-Version”,“X-Powered-By”和“X-SourceFiles”.
我们尝试了result.Headers.Remove(“X-AspNet-Version”);在从控制器返回HttpResponseMessage之前.这不起作用,因为标题仍然出现在fiddler.我也没有在HttpResponseMessage对象的任何地方找到任何标题.对我来说,这表明我可能需要深入挖掘管道,但我不知道从哪里开始或者这是否正确.
解决方法
解决方案 – 1
从this回答
“powered by”是IIS中的自定义标头.更改它取决于您使用的IIS版本.有关如何修改或删除的一些信息,请参阅here:
要在Application Start事件中删除MVC标头,请在Global.asax中:
MvcHandler.disableMvcResponseHeader = true;
把它放在web.config中去除X-AspNet-Version标头:
<system.web> <httpRuntime enabLeversionHeader="false" /> </system.web>
解决方案-2
您可以在Application_EndRequest()中更改任何标题或任何内容
protected void Application_EndRequest() { // removing excessive headers. They don't need to see this. Response.Headers.Remove("header_name"); }
原文地址:https://www.jb51.cc/aspnet/248138.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。