Как я должен ссылаться на экземпляр IHttpModule в конвейере? - PullRequest
1 голос
/ 07 ноября 2010

Созданная мной реализация IHttpModule

public class ResponseTweaker : IHttpModule {  // my module ...

зарегистрирована в Web.config

<system.web>
  <httpModules>
      <add name="redman" type="ResponseTweaker"/>
  </httpModules>

, и его экземпляр находится в конвейере.

Fromперспективы вызывающего абонента (например, из файла Global.asax.cs), как должен получить ссылку на этот экземпляр модуля?

1 Ответ

5 голосов
/ 07 ноября 2010

Модули можно найти в HttpContext.Current.ApplicationInstance.Modules.

Вы можете просмотреть HttpModuleCollection или использовать синтаксис имени: HttpContext.Current.ApplicationInstance.Modules["redman"]. Вам, вероятно, нужно привести приведенное значение IHttpModule к типу ResponseTweaker.

.

Если тип может отличаться, выполните поиск в коллекции, чтобы найти модули, соответствующие требуемому типу.

...