打造可持续发展的事业

事业像系统的框架,要稳定、可扩展,同样需要精心设计的!

HTTP Module




上图是比较经典的。我们知道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对象来获得一些(输入/输出的)操纵的对象,形成更强大的处理能力。




posted on 2004-07-30 14:59  PM2004  阅读(1288)  评论(1编辑  收藏  举报

导航