我正在尝试从asp.net中的http响应头中删除服务器标记(C#) 在堆栈溢出的帮助下,我成功创建了.dll文件并在我的项目中添加了它的引用,但仍然可以在http头中看到服务器标记。下面是我的.dll文件的代码。
using System;
using System.Web;
namespace ServerHeaders
{
public class CustomServerHeaderModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
public void Dispose() { }
static void OnPreSendRequestHeaders(object sender, EventArgs e)
{
// remove the "Server" Http Header
HttpContext.Current.Response.Headers.Remove("Server");
}
}
}
我在网站上添加了对此文件的引用,并在web.config中添加了必需的标记,如下所示。
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime enableVersionHeader="false" />
<httpModules>
<add name="CustomServerHeaderModule1" type="ServerHeaders.CustomServerHeaderModule" />
</httpModules>
</system.web>
<system.serviceModel>
<bindings/>
<client/>
</system.serviceModel>
</configuration>
请现在指导我还有什么遗失或有任何错误吗?
我修正了web.config
中的错误。现在它在
HttpContext.Current.Response.Headers.Remove("Server");
错误是对象引用未设置为对象的实例。如何解决这个错误?我从本地主机运行项目(使用 F5 )。