《HTTP请求过滤器理论.ppt》由会员分享,可在线阅读,更多相关《HTTP请求过滤器理论.ppt(19页珍藏版)》请在三一办公上搜索。
1、,HTTP请求过滤器,ASP.NET企业级应用编程第13章,本章目标,理解HttpModule的概念理解HttpModule和HttpHandler的关系掌握实现IHttpModule接口掌握HttpModule的配置理解HttpModule的处理机制HttpModule的应用,理解HttpModule的概念,我们去政府办事,要经过多个关卡,首先是门卫,然后可能是某个部门的秘书,然后到接待处,最后才找到能解决事情的人,帮你处理,客户端,Request,Module1,Module2,Module3,Handler,理解HttpModule的概念,在http请求的处理过程中,只能调用一个Http
2、Handler,但可以调用多个HttpModule,请求,Http Module1,Http Module2,Http ModuleN,Http Handler,处理请求,过滤请求,过滤响应,请求响应过程中发生的Application事件,页面发起请求,BeginRequest,AcquireRequestState,EndRequest,PreSendRequestHeaders,PreSendRequestContent,Http Handler,IHttpModule接口描述,Init(HttpApplication application)方法对Module进行初始化系统初始化的时候自
3、动调用(不需要自己调用)HttpApplication参数:提供对应用程序级别的事件,方法,属性,变量的访问实现Init方法一般用于向HttpApplication注册自己的事件处理程序(注册HttpApplication的事件)向Application注册事件后,就要编写事件处理程序了实现Dispose()方法清理资源一般无需编程一般空实现:public void Dispose(),掌握实现IHttpModule接口,编写配置文件(类文件在App_Code中),实现了IHttpModule的类名,完整的类型名(包括命名空间),编写配置文件(类文件在业务层项目中),不可重复的任意名称,掌握实
4、现IHttpModule接口,在IHttpModule中使用Session当用户请求某个资源时,需要访问保存到Session的用户名,程序记录该用户访问了哪些资源Session用在AcquireRequestState后到HttpHandler的ProcessRequest执行完之前可用在IHttpModule中重写URL注册BeginRequest事件处理函数调用Application.Context的RewritePath方法,HttpModule的应用,日志记录与监视验证用户是否登录WEB网址重写网站权限的过滤,记录用户访问过的网址,验证用户是否登录成功,简短易记的博客网址,页面地址重写
5、,总结,理解HttpModule通过注册Application的事件,可以在整个Http请求响应通道中,对请求响应做各种分析,过滤实现IHttpModule接口Init方法Dispose方法常用Application事件及其触发顺序HttpModule的应用,练习,1.HttpModule相当于一个()处理管道处理模块过滤器http模型,练习,2.要人为控制HTTP处理管道我们可以通过()A.自定义HttpHandler处理模块B.添加自定义HttpModule过滤器C.自定义类继承Page类D.修改配置文件,练习,3实现IHttpModule接口的类必须实现哪两个方法()Init方法Dispose方法ProcessRequest 方法BeginRequest方法,练习,4.Dispose方法的作用是()A.释放过滤器B.释放在过滤器中创建的某些资源C.释放应用程序资源D.释放过滤器控制权,练习,5.以下哪些事件在HttpModule的Init方法中不能注册()A.BeginRequestB.AuthenticateRequest C.EndRequest D.Load,