Тогда браузер пытается обратиться по новому : — с дополнительным слэшем в конце. Web-сервер возвращает документ по умолчанию. Я хотел избавиться от такого перенаправления для каждой страницы и был уверен. что такое решение есть.

Использование              в ASP.NET

Гораздо лучше заблаговременно перехватывать входящий URL и переза­писывать его. До ASP.NET это можно было сделать только через ISAPI. В ASP.NET имеется новый набор API-функций, связанных с интерфейсом lllttpModule. Объекты, реализующие этот интерфейс, могут запрашивать Web-приложение направлять им соответствующее уведомление при каж­дой обработке HTTP-запроса.

Вот как это работает. Вы создаете класс, реализующий интерфейс IHttp-Modtile. В интерфейсе lr.llTp.Ybx.мule определено всего два метода:

interface IHttpModule {

void InitCHTTPApplication context); void Dispose О ;

}

Метод Init вызывается только раз — при инициализации приложения. Аргумент этого метода - объект HTTPApplication. Метод должен связать обработчики с одним или несколькими важными для него событиями. Метод Dispose тоже вызывается лишь раз, но при завершении приложе­ния. Не забудьте, что приложение завершается и вновь инициализирует­ся не только при перезапуске этого приложения или IIS, но и при любом изменении конфигурационного файла Web.config или зависимой сборки (dependent assembly).


Минимальный HTTP-модуль показан на рис. 1. Он вызывается, когда зап­рос только что получен сервером. Этот модуль регистрирует соответству­ющее событие в системном журнале Windows и возвращает управление.


Чтобы активизировать фильтр в ^Ь-нршгожешп;, надо скомпилировать файл в сборку и сделать ее доступной приложению. После этого следует модифицировать \УеЬ.сопп£ и добавить модуль:

<configuratioп> <5уз1ет.иеЬ>

<пПр!Ми1ез>

<а<М                                                                                               />