Asp.net mvc 我可以使用global.asax删除不需要的http头服务器、X-AspNet-Version和X-AspNetMvc-Version吗?

Asp.net mvc 我可以使用global.asax删除不需要的http头服务器、X-AspNet-Version和X-AspNetMvc-Version吗?,asp.net-mvc,global-asax,Asp.net Mvc,Global Asax,我使用了如下代码。 这会删除标题,但这是正确的方法吗?我是否应该像许多帖子建议的那样选择另一种方法 我已经添加了这段代码,它删除了不需要的头,但我对处理这些头还是新手。我想知道这是怎么做到的 protected void Application_PreSendRequestHeaders() { Response.Headers.Remove("Server"); Response.Headers.Remove("X-AspNet-Version"

我使用了如下代码。 这会删除标题,但这是正确的方法吗?我是否应该像许多帖子建议的那样选择另一种方法

我已经添加了这段代码,它删除了不需要的头,但我对处理这些头还是新手。我想知道这是怎么做到的

    protected void Application_PreSendRequestHeaders()
    {
        Response.Headers.Remove("Server");
        Response.Headers.Remove("X-AspNet-Version");
        Response.Headers.Remove("X-AspNetMvc-Version");
    }

-

除非您在运行时执行此操作,否则您不会发现您的方法有任何错误,因为这也可以通过以下方法处理

将此添加到web.config以删除X-AspNet-Version标题:

<system.web>
  <httpRuntime enableVersionHeader="false" />
</system.web>

你的方法没有什么错,真的…用任何有效的方法。您可以在此处、web配置或通过IIS设置执行此操作。没什么大不了的。将其嵌入web配置或代码的优点是,当您部署到不同的环境时,设置会随应用程序一起移动。或者,通过IIS设置执行此操作的一个优点是,它适用于部署到该网站的所有应用程序。取决于你的需要
protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}