2009-05-26 3 views
5

Я знаю, что это уже было задано here, но ответ (используя обработчик вместо этого) не решает проблему, так как я использую сторонний компонент, который не реализует IHttpHandler.Отключение HttpModule в определенном месте

Итак, есть ли способ загрузить/выгрузить HttpModule по определенному запросу?

EDIT: Я забыл упомянуть, что мы работаем с .NET 2.0. Я сожалею о том, что он ее проклинал.

ответ

1

Я не проверял это, но comment in this article, кажется, предполагает, что можно зарегистрировать модули только для определенных мест с помощью <location> элемента в файле web.config, например:

<location path="some/path"> 
    <system.web> 
     <httpModules> 
     <remove name="name"/> 
     <add name="name" type="type"/> 
     </httpModules> 
    </system.web> 
    </location> 
+0

Мы уже пробовали это, но по какой-то причине это не работает для нас :( –

+0

Я отмечу это как ответ, пока не придумаю лучшее решение для нашей конкретной проблемы, поскольку кажется, что это не работая из-за причины extrange. –

+3

@MaLKaV_eS Почему вы отметили это как ответ? Я не думаю, что это действительно работает – Freek

0

Я полагаю, что проблема связана с наследованием HttpModule, вам нужно наследование вашего web.config с помощью стороннего элемента управления?

Попробуйте добавить этот атрибут в том месте, где будет храниться компонент;

<location path="/ThirdPartyComponents" inheritInChildApplications="false"> 
    ... 
</location> 
+0

Не работает. Мы продолжим попытки (и попросим стороннюю поддержку ...) –

+0

Обычно я использую период в пути, чтобы отключить наследование глобально для всех подпапок. Я только добавил путь сюда поскольку я предполагаю, что вам нужно наследование за пределами ваших сторонних компонентов. –

0

Один из способов сделать это с помощью оберточного модуля. Зарегистрируйте один httpModule с вашим приложением, затем создайте правила в этом модуле, которые соответствуют запуску других модулей. У вас есть доступ к объекту запроса, чтобы вы могли определить, какой запрос вы получаете, и перенаправить логику в соответствующий (настраиваемый) модуль.

 Смежные вопросы

  • Нет связанных вопросов^_^