在Asp.net中,HttpModule和HttpHandler均可以截取IIS消息进行处理,这使得我们制作人员能够非常方便的进行诸如图片水印添加,图片盗链检查等功能。

下面先就HttpModule的使用方法进行简单说明:

using System;using System.Web;

namespace MyWebApp{public class MyHttpModule:IHttpModule    {public void Init(HttpApplication application)        {            application.BeginRequest+=new EventHandler(application_BeginRequest);        }

public void application_BeginRequest(object sender, EventArgs e)        {            HttpContext context = (sender as HttpApplication).Context;            context.Response.Write("这一部分是由HttpModule添加!<br><script>alert('测试脚本标签')</script>");        }

#region IHttpModule 成员

void IHttpModule.Dispose()        {throw new NotImplementedException();        }

#endregion    }}

需要说明的是,使用HttpModule的时候需要继承自IHttpModule接口,然后需要实现Dispose成员。需要注意一点的是,这些操作还得在web.config中进行配置,才能够正常使用:

      <!--下面这里是添加的自定义的HTTPModule--><add name="MyHttpModule" type="MyWebApp.MyHttpModule"/>

而对于HttpHandler,则需要继承自IHttpHandler接口,并且也需要在web.config中进行注册:

using System.Web;using System.Web.Services;

namespace MyWebApp{/// <summary>/// $codebehindclassname$ 的摘要说明/// </summary>    [WebService(Namespace = "http://tempuri.org/")]    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class MyHttpHandler : IHttpHandler    {

public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            context.Response.Write("这一部分是由HttpHandler添加!");        }

public bool IsReusable        {get            {return false;            }        }    }}

在web.config中的注册如下:

      <!--下面是添加的自定义HTTPHandler-->  <add verb="*" path="*.aspx" type="MyWebApp.MyHttpHandler"/>

希望对你有用。

Asp.net中的HttpModule和HttpHandler的简单用法相关推荐

  1. Asp.Net中几种标记符号解释及用法

    Asp.Net中几种标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 1.< %#... %>: 是在 ...

  2. Asp.net中文件上传下载的简单实现

    1. 文件下载 在asp.net中,如果想点击某aspx的url实现文件下载只要在其Page_Load函数实现目标url的重定向即可.用下列代码即可实现. Response.Redirect(&quo ...

  3. ASP.NET中AJAX的UpdatePannel控件的用法

    ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖于ScriptManager存在, ...

  4. asp.net中的参数传递:Context.Handler 的用法

    网上天天有人问怎么在webform页面之间传值,基本上来说,大家熟悉的是      (1)url字符串传值      (2)session传值      (3)直接读取server.transfer过 ...

  5. 打包到指定目录_linux中打包文件tar命令的简单用法

    tar 是tape archive的缩写,原理就是把多个文件前后连在一起,形成一个大的文件,tar命令并不对文件进行压缩. tar打包文件起码要跟上2个选项:-cf,-c选项是创建打包文件,-f选项是 ...

  6. 记录一下excel表中多条件if函数的简单用法

    多条件if函数: 问:如何在excel表中实现A1单元格内容对应所属的自动填充? B列空格填充原则: "西红柿.茄子"属于"蔬菜" "樱桃.火龙果&q ...

  7. unity 加载关卡_unity中加载新关卡函数简单用法

    Application.LoadLevel 加载关卡 static function LoadLevel (index : int) : void Description描述 Loads the le ...

  8. python中的函数参数主要有四种_python3中函数参数的四种简单用法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. Java中UDP协议的基本原理和简单用法

    UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...

最新文章

  1. 1.6万亿参数,秒杀GPT-3!谷歌推出超级语言模型Switch Transformer,比T5快4倍
  2. Asp.net(C#)-显示所有缓存 清除所有缓存
  3. 从头到尾彻底理解傅里叶变换算法(下)
  4. python方法的分类(实例方法、类方法、静态方法)
  5. php jquery ajax xml,jquery Ajax解析XML数据代码实例
  6. 用mendeley在word中插入文献_Mendeley教程-参考文献引用(论文撰写必备!)
  7. 创建自己的Convers. Routine.
  8. Java中的流(概念和示例)
  9. Java分代垃圾回收机制:年轻代/年老代/持久代(转)
  10. 萌萌机器人布娃娃图片_萌萌机器人教程
  11. 【集合论】集合概念与关系 ( 集合表示 | 数集合 | 集合关系 | 包含 | 相等 | 集合关系性质 )
  12. python flask 路由_Python之Flask 路由与模板语法
  13. 【类型初始值设定项引发异常】问题解决
  14. 一元三次方程求根公式及韦达定理
  15. Maven的目标和阶段是什么,它们之间有什么区别?
  16. 插入排序一块说说-很合适~~~二分查找和折半
  17. .net基础知识学习
  18. 关于Python面试的4点,你做到就吃鸡了!
  19. java使用网易企业邮箱,发送邮件失败
  20. 教师计算机招聘笔试考什么内容是什么意思,大学计算机教师招聘面试问题和笔试题16套...

热门文章

  1. spring-使用配置文件完成JdbcTemplate操作数据库
  2. hihoCoder 1257 Snake Carpet(很简单的构造方法)
  3. Android Studio开发环境搭建准备
  4. 四、物理优化(1)范式化
  5. Spring Security3源码分析-http标签解析(转)
  6. Apache 2.0性能优化—MPM的选择与配置
  7. JavaScript直接导出Excel,Word
  8. ping -a 获取不到主机名_网络测试命令——PING
  9. 两个数组结果相减_学点算法(三)——数组归并排序
  10. Codeforces 924D Contact ATC (看题解)