управлять запуском httpHandler

maxim_krylov
Дата: 22.04.2007 21:44:36
Здравствуйте!
вот история: есть httpHandler, откомпилированный в сборку, добавлен в проект и зарегистрирован в web.config.
Необходимо как-то запускать этот хендлер по условию...например я хочу, что-бы он не отрабатывал на Default.aspx, а на оттальных страницах - срабатывал.
как вариант, пробую ставть условие с регулярным выражением в хендлере, но как тогда "отпускать" страницу, если условие не сработает?
можно ли задавать регулярку непосредственно в web.config, при регистрации хендлера? (пробовал нечто вроде http://*/*/*/*/*.aspx, - не помогло:)....
жду вашей помощи. Спасибо!
prokhorovserge
Дата: 22.04.2007 23:12:03
Единственный разумный вариант - перекрыть PageHandlerFactory и в нём для одних страниц вызывать base методы, для других - ваши.
Или написать свой IHttpHandlerFactory для обработки aspx страниц.

Можно еще попробовать вынести эти страницы в отдельный подкаталог и указать для них ваш handler, для других будет использоваться default PageHandlerFactory. Надо только ваш handler описать в web.config раньше PageHandlerFactory.
Например,
<add path="secured/*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
Правда не уверен, что это сработает. Попробовать сейчас не могу.
Serge