ASP.NET----模块和处理程序

1.HttpModule和HttpHandler

(1) 事实上我们每请求一个 aspx 页面都经历了同样的过程 , 只不过我们没有察觉而已 (2) 一个请求可以经过多个 Module 但是最终只能被一个 Handler 处理

2.HttpHandler的使用

     在web应用程序项目中添加一般应用程序
     一般处理程序页面及注释

3.水印的实现(一般有一下三种方法)

(1) 直接编辑每张图片-----------( 需要大量的人力。 (2) 编程实现批量编辑图片----------( 节省人力,效率高,但原始图片丢失了。 (3) 在显示图片时,动态添加数字水印效果---------( 使用 HttpHandler

4.使用HttpHandler方式是实现水印

    前台界面
   

后台代码实现

 public void ProcessRequest(HttpContext context){//获取图片路径string  imgs="~/ProductImgs/";//获取要添加数字水印的图片string file = context.Request.MapPath(imgs + context.Request.QueryString["id"] + ".jpg");//string file = context.Request.PhysicalPath;Image img = null;//判断图片的物理地址是否存在if (File.Exists(file)){//加载图片img = Image.FromFile(file);//定义画布Graphics grap = Graphics.FromImage(img);//合成水印图片grap.DrawString("水印",new Font("微软雅黑",20),Brushes.Red,img.Width-50,img.Height-30);//释放水印grap.Dispose();}else{}//定义输出类型context.Response.ContentType = "image/jpeg";//保存图片到输出流img.Save(context.Response.OutputStream,ImageFormat.Jpeg);//释放画布img.Dispose();//输出结束context.Response.End();}

5.全局Handler方式实现水印

5.1实现思路分析

     (1) 修改配置信息,将所有对 .JPG 内容的访问转到 HttpHandler 处理程序      (2) 获得访问请求,得到用户访问的图片路径;      (3) 根据请求的路径,查找相对应的 DVD 封面图片;      (4) 将网站标识“绘制”在 DVD 封面图片的左下角;      (5) 修改程序的输出类型,并将组合出的新图片输出。

5.2实现及代码

  public void ProcessRequest(HttpContext context){//获取图片路径string  imgs="~/ProductImgs/";//获取要添加数字水印的图片//string file = context.Request.MapPath(imgs + context.Request.QueryString["id"] + ".jpg");string file = context.Request.PhysicalPath;Image img = null;//判断图片的物理地址是否存在if (File.Exists(file)){//加载图片img = Image.FromFile(file);//定义画布Graphics grap = Graphics.FromImage(img);//合成水印图片grap.DrawString("水印",new Font("微软雅黑",20),Brushes.Red,img.Width-50,img.Height-30);//释放水印grap.Dispose();}else{}//定义输出类型context.Response.ContentType = "image/jpeg";//保存图片到输出流img.Save(context.Response.OutputStream,ImageFormat.Jpeg);//释放画布img.Dispose();//输出结束context.Response.End();}

修改Web.config文件的httpHandlers

(1) verb :谓词 GET POST FTP 等。 (2) path :访问路径,此处表示所有针对“ ProductImgs /*.jpg” 路径的的请求都将交给 PicCoverHandler 类进行处理。 (3) type :指定的处理程序(类)。 

6.在IIS配置处理程序

(1)在IIS上使用该方式要做其他处理

(2) 开发服务器仅提供最简单的Web服务器功能,它不对请求的内容做任何处理,而是直接将所有的请求转交给ASP.NET处理; (3) IIS 功能比较完善,可以独立处理一些访问请求,比如 .html .jpg 等的访问不会提交给 ASP.NET 来处理





本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部