加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 如何从Web API响应中删除标头?

发布时间:2020-12-16 04:23:36 所属栏目:asp.Net 来源:网络整理
导读:新的Web API 2.0项目,因此我们可以完全控制整个请求/响应管道. 我们如何从ASP.NET Web API响应发送的响应中删除“X-”标头?具体来说,目前并且总是会有变化,我们要删除“X-AspNet-Version”,“X-Powered-By”和“X-SourceFiles”. 我们尝试了result.Headers.
新的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");
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读