Я пытаюсь удалить тег сервера из заголовков ответа http в asp.net (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 ).