Отключение HttpModule в определенном месте - PullRequest
5 голосов
/ 26 мая 2009

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

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

РЕДАКТИРОВАТЬ: я забыл упомянуть, что мы работаем с .NET 2.0. Я сожалею о том, что подделал это.

Ответы [ 3 ]

1 голос
/ 26 мая 2009

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

  <location path="some/path">
    <system.web>
      <httpModules>
        <remove name="name"/>
        <add name="name" type="type"/>
      </httpModules>
    </system.web>
  </location>
0 голосов
/ 17 марта 2015

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

0 голосов
/ 26 мая 2009

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

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

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