介绍ASP.NET Framework
创始人
2024-04-18 06:10:56
0

深入Http Module

一个Http 请求在被ASP.NET Framework捕获之后会依次交给Http Module以及Http Handler来处理。hm与hh之间不是完全独立的,实际上,Http 请求在hm传递的过程中会在某个事件内将控制权转交给hh的,而真正的处理在Http Handler中执行完成后,Http Handler会再次将控制权交还给Http Module

上面的代码中的Http Module的Init()中的参数是Http Application类型,它具有许多事件,包括BeginRequest,EndRequest,AuthentiacteRequest等等。

IHttp Handler

它是ASP.NET Framework提供的一个接口,定义了如果要实现一个Http 请求的处理所需要必须实现的一些系统约定。也就是说,如果你想要自行处理某些类型的Http 请求信息流的话,你需要实现这些系统约定才能做到。譬如一个*.aspx文件,用来处理此类型的Http 请求,ASP.NET Framework将会交给一个名为System.Web.UI.PageHandlerFactory的Http Handler类来处理。

HH和HM一样,系统会在最初始由ASP.NET Framework首先加载machine.config中的Http Handler,而后会加载Web应用程序所在目录的web.config中的用户自定义的Http Handler类。但是系统与我们自定义的HH之间的关系是"覆盖"的,也就是说如果我们自定义了一个针对"*.aspx"的Http Handler类的话,那么系统会将对此Http 请求的处理权完全交给我们自己定义的这个Http Handler类来处理,而我们自己的Http Handler类则需要自己完全解析这个Http 请求,并作出处理。

IHttp Handler接口中最重要的方法ProcessRequest,这个方法就是Http Handler用来处理一个Http 请求,当一个Http 请求经过由Http Module容器传递到Http Handler容器中的时候,Framework会调用Http Handler的ProcessRequest方法来做对这个Http 请求做真正的处理。

Framework实际上并不是直接把相关页面的Http 请求定位到一个内部默认的IHttp Handler容器之上的,而是定位到了其内部默认的IHttp HandlerFactory上了。IHttp HandlerFactory的作用就是对很多系统已经实现了的IHttp Handler容器进行调度和管理的,这样做的优点是大大增强了系统的负荷性,提升了效率。

【编辑推荐】

  1. 介绍ASP.NET MVC的实现
  2. 如何从ASP.NET 2.0中发送电子邮件
  3. 浅谈ASP.NET应用
  4. ASP.NET中的ViewState本质
  5. 安装ASP.NET AJAX的过程

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...