2010-11-07 61 views
1

一个IHttpModule的实施,我创建我应该如何在管道中引用IHttpModule实例?

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

登记在Web.config中

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

和它的一个实例是坐在流水线。

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

+0

https://github.com/castleprojectcontrib/Castle.Windsor.Lifestyles/blob/master/Castle.Windsor.Lifestyles/PerHttpApplicationLifestyleManager.cs#L37 – 2010-11-07 01:09:27

回答

5

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

您可以查看HttpModuleCollection,或使用名称语法: HttpContext.Current.ApplicationInstance.Modules["redman"]。您可能需要将返回的IHttpModule投射到ResponseTweaker

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

+0

这就是医生的命令。谢谢。 – 2010-11-07 01:15:03