现在的位置: 首页 > 综合 > 正文

HTTP Module

2011年02月15日 ⁄ 综合 ⁄ 共 502字 ⁄ 字号 评论关闭


上图是比较经典的。我们知道Handler就是处理某种路径下某种后缀名的文件请求。

而Module就是一层一层的过滤器了,层层剥削!

你知道ASP.NET中的输出缓存(Output Cache)如何实现?

就是通过Module来实现的,Module可以控制输入和输出。每个Module实现IHttpModule接口,这个接口只有两个方法:
Dispose和Init。
核心就在于Init里,   void Init(
      
HttpApplication context
   )
它使用了一个参数 HttpApplication ,所以它能够将你写的事件处理函数注册到很多事件上去!
而HttpApplication有N多事件。

在配置Web.Config中加入
<httpModules>
<add type="classname, assemblyname" name="modulename"  />
<httpModules>

例子代码在MSDN中有的。
关键是写好Init函数。


你可以使用和HTTPApplication相关的
HttpContext 和Request对象来获得一些(输入/输出的)操纵的对象,形成更强大的处理能力。




抱歉!评论已关闭.