无法在 ASP.NET/IIS7 经典模式下设置 HTTP 响应标头

发布于 2024-11-28 19:55:55 字数 647 浏览 3 评论 0原文

有一个 HttpModule 可以更改响应标头中的服务器字段。但它不适用于 ASP.NET/IIS7 经典模式。删除或更改响应标头中的服务器字段的解决方案是什么?

public class CloakHttpHeaderModule : IHttpModule
{
    public void Init(HttpApplication app)
    {
        app.PreSendRequestHeaders += new EventHandler(context_PreSendRequestHeaders);
    }

    public void Dispose()
    {
    }

    private void context_PreSendRequestHeaders(object sender, EventArgs e)
    {
        var context = ((HttpApplication)sender).Context;
        context.Response.Headers.Set("Server", "Apache 2.0");
        //HttpContext.Current.Response.Headers.Set("Server", "WSGIServer/0.1 Python/2.6.1");
    }

}

There is a HttpModule that change Server field in Response Headers. But it does not work in ASP.NET/IIS7 classic mode. what is the solution for remove or change Server field in reponse header?

public class CloakHttpHeaderModule : IHttpModule
{
    public void Init(HttpApplication app)
    {
        app.PreSendRequestHeaders += new EventHandler(context_PreSendRequestHeaders);
    }

    public void Dispose()
    {
    }

    private void context_PreSendRequestHeaders(object sender, EventArgs e)
    {
        var context = ((HttpApplication)sender).Context;
        context.Response.Headers.Set("Server", "Apache 2.0");
        //HttpContext.Current.Response.Headers.Set("Server", "WSGIServer/0.1 Python/2.6.1");
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清浅ˋ旧时光 2024-12-05 19:55:56

除非您至少运行 IIS7、集成管道模式和 .NET 3.0,否则无法执行此操作。该文档指出:

HttpResponse.Headers 属性

标头属性仅受 IIS 7.0 集成支持
管道模式和至少 .NET Framework 3.0。当你尝试
访问 Headers 属性,这两个条件之一都不是
满足时,会抛出 PlatformNotSupportedException。

You can't do this unless you're running at least IIS7, Integrated Pipeline Mode and .NET 3.0. The documentation states this:

HttpResponse.Headers Property

The Headers property is only supported with the IIS 7.0 integrated
pipeline mode and at least the .NET Framework 3.0. When you try to
access the Headers property and either of these two conditions is not
met, a PlatformNotSupportedException is thrown.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文