В моем приложении я должен установить http заголовок ответа. Я хотел бы сделать это в web.config.
Раствор Наконец, после долгих поисков я нашел решение. Создайте класс с этим кодом:
public class myHTTPHeaderModule : IHttpModule
{
#region IHttpModule Members
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.EndRequest += new EventHandler(context_EndRequest);
}
void context_EndRequest(object sender, EventArgs e)
{
HttpResponse response = HttpContext.Current.Response;
response.AddHeader("Content-Language", "*");
}
#endregion
}
(Не спрашивайте меня, зачем использовать это событие, но оно работает..)
Теперь добавьте строку в файл web.config в раздел HttpModule:
<httpModules>
<add type="namespace.myHTTPHeaderModule, assembly name" name="headers" />
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
И все!
Я не знаю, что вы можете сделать это в web.config
На данный момент я знаю, что у вас есть следующие лучшие варианты:
Здесь у вас есть ссылка на MSDN:
Пример настраиваемого HttpModule
В этой ссылке есть реализация HTTPModule, который, кажется, вам нужен
Вы всегда можете добавить элемент в раздел configuration.appSettings.
Тогда ваша главная страница, пользовательский класс базовой страницы или конкретная страница сможет установить эти http-заголовки, читая из web.config
Для этого нет встроенных функций
Вы можете создать HttpModule
, который считывает заголовки из web.config и добавляет их в ответ.