网站大量收购独家精品文档,联系QQ:2885784924

CH10模块和处理程序.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH10模块和处理程序

第十章 模块和处理程序 回顾 用户控件的作用是什么? 用户控件和Web窗体有什么区别? 在用户控件中使用事件的步骤是什么? 如何动态加载用户控件? 本章目标 了解模块和处理程序 掌握模块的制作和使用 熟练掌握处理程序的制作和使用 HttpModule和HttpHandler IIS6.0 IIS7.0 HttpModule HttpApplication事件 自定义HttpModule HttpHandler 一般处理程序 指定Handler方法 思路分析 获得URL传的参数并查找相对应的封面图片 将水印“粘贴”在封面图片的左上角 修改程序的输出类型,并将组合出的新图片输出 修改页面中访问该图片的路径。 总结 了解模块和处理程序 掌握模块的制作和使用 熟练掌握处理程序的制作和使用 作业 IIS6.0和IIS7.0在处理请求时的区别是什么? HttpModule的作用是什么? HttpHandler的作用是什么? 实现执行HttpHandler方法的步骤有哪些? * HttpHandler 处理程序 Http运行时 Http模块 Http模块 Http模块 Http请求 响应 请求的终点 最终的处理 可能经历多个模块, 层次“过滤” 原路返回 public class MyModule : IHttpModule { public void Dispose() { //此处放置清除代码。 } public void Init(HttpApplication context) { // 下面是如何处理 LogRequest 事件并为其 // 提供自定义日志记录实现的示例 } } 访问当前的HttpApplication环境 在把HTTP响应报头发送给客户端之前触发。这个事件可以修改报头,之后把它发送给客户端。可以使用这个事件给报头添加cookie金额定制数据 PreSendRequestHeaders 在把响应内容发送给客户端之前触发。这个事件可以修改响应内容,之后把它发送给客户端。可以使用这个事件给页面输出添加所有页面中都有的公共内容。 PreSendRequestContent 在开始执行HTTP请求的处理程序之前触发。在这个事件之后,ASP.NET会把请求发送给合适的HTTP处理程序 PreRequestHandlerExecute 在HTTP处理程序执行完毕后触发 PostRequestHandlerExecute 在处理HTTP请求时发生未处理的异常时触发 Error 在把响应内容发送给客户端之前触发 EndRequest 完成HTTP请求时触发 Disposed 收到一个新的HTTP请求时触发 BeginRequest 准备给用户授予资源的访问权限时触发 AuthorizeRequest 准备验证用户身份时触发 AuthenticateRequest 准备获得当前HTTP请求的会话状态时触发 AcquireRequestState 说明 事件 自定义HttpModule 编写自定义HttpModule类 配置应用程序 httpModules add name=模块类名 type=名称空间.类名,程序集名称/ /httpModules system.web httpModules add name=MyModule type=MyFilmWeb.MyModule,MyFilmWeb/ /httpModules …… /system.web public class MyModule : IHttpModule { private HttpApplication app = null; public void Init(HttpApplication context) { app = context; app.EndRequest +=new EventHandler(app_EndRequest); } protected void app_EndRequest(object sender, EventArgs e) { app.Context.Response.Write(信息来自MyModule,时间: + DateTime.Now.ToLong

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档