我创建的IHttpModule实现

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


在Web.config中注册

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


它的一个实例正坐在管道中。

从调用者的角度(例如,从Global.asax.cs文件中)来看,我应该如何获得对该模块实例的引用?

最佳答案

可以在HttpContext.Current.ApplicationInstance.Modules中找到这些模块。

您可以浏览HttpModuleCollection,或使用名称语法:
HttpContext.Current.ApplicationInstance.Modules["redman"]。您可能需要将返回的IHttpModule强制转换为ResponseTweaker类型。

如果类型可能有所不同,请搜索集合以找到与所需类型匹配的模块。

10-01 21:57