ASP.NET模块和处理程序

HttpModule 和 HttpHandler:

ASP.NET其请求处理过程是基于管道模型的,这个管道模型由多个HttpModule和HttpHandler组成。

在整个生命周期中,它们大致的执行过程是这样的:client端发送页面请求,被IIS的某个进程截获,它根据申请的页面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll;.aspx->ISAPI.dll),而页面处理程序在处理过程中,则要经历 HttpModule,HttpHandler的处理,前者HttpModule用于页面处理前和处理后的一些事件的处理,后者HttpHandler进行真正的页面处理。

context对象可控制输出的内容和类型。

创建图片水印:


数字水印的实现(全局Handler方式):

  ▲  修改web.config,将所有的jpg内容的访问转到HttpHandler处理程序。

    <httpHandlers>

       <add verb="*" path="ProductImgs/*.jpg" type="WebApplication1.Handler1">

    </httpHandlers>

      verb:指定谓词列表,此处指标识所有的请求。

      path:指定文件路径。

       type:指定 类/程序集组合(要执行的文件名称)。

  • 获得访问请求,得到用户访问的图片路径。
  • 根据请求的路径查找相对应的封面图片。
  • 将网站标识在封面图片的左下角输出。
  • 修改程序的输出类型,并将组合出的新图片输出。



猜你喜欢

转载自blog.csdn.net/queenFengdabao/article/details/79849338