HttpModule架构与应用详解.pdfVIP

  • 0
  • 0
  • 约2.87万字
  • 约 22页
  • 2026-03-09 发布于山西
  • 举报

Asp.Net构架(HttpModule介绍)‑

第三部分

引言

Http请求处理流程和HttpHandler介绍这两篇文章里,我们首先了解了Http

请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的

类进行处理(应该记得Page类实现了IHttpHandler)。从Http请求处理流程一文的最

后的一幅图中可以看到,在Http请求由IHttpHandler处理之前,它需要通过一系列的Http

Module;在请求处理,它需要再次通过一系列的HttpModule,那么这些HttpModule

是如何组成的?用来做什么呢?本文将对HttpModule作以介绍。

Http模块概述

暂时先不考虑我们自己实现HttpModule的情况。在.Net中,HttpModule是实现了

IHttpModule接口的程序集。IHttpModule接口本身并没有什么好大写特写的,由它的名字

可以看出,它不过是一个普普通通的接口而已。实际上,我们关心的是实现了这些接口的类,

如果我们也编写代码实现了这个接口,那么有什么用途。一般来说,我们可以将Asp.Net中的

分成三个级别,最顶层是应用程序级、其次是页面级、最下面是控件级,

的触发分别与应用程序周期、页面周期、控件周期紧密相关。而HttpModule的作

用是与应用程序密切相关的。

我们通过HttpModule在HTTP请求管道(Pipeline)中期望对应用程序

作出反应的方法,在相应的触发时(比如BeginRequest,它在应用程序收到一

个HTTP请求并即将对其进行处理时触发),便会调用HttpModule的方法,实际

的工作在这些方法中执行。.Net本身已经有许多HttpModule,其中包括表单验证

Module(FormsAuthenticationModule)、Session状态Module(

SessionStateModule)、输出缓存Module(OutputCacheModule)等。

HttpModule

在我们自己编写的HttpModule之前,先来看看Asp.Net中已经存在的

HttpModule。与HttpHandler类似,我们需要打开机器上的

C:\WINDOWS\.NET\Framework\v2.0.50727\CONFIG目录下的

web.config文件。找到httpModu/节点,应该可以看到以下内容:

httpModuaddname输出

缓存

Asp.Net构架(HttpModule介绍)-

Part.3

引言

Http请求处理流程和HttpHandler介绍这两篇文章里,我们首先了解了Http

请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的

类进行处理(应该记得Page类实现了IHttpHandler)。从Http请求处理流程一文的最

后的一幅图中可以看到,在Http请求由IHttpHandler处理之前,它需要通过一系列的Http

Module;在请求处理,它需要再次通过一系列的HttpModule,那么这些HttpModule

是如何组成的?用来做什么呢?本文将对HttpModule作以介绍。

HttpModule概述

暂时先不考虑我们自己实现HttpModule的情况。在.Net中,HttpModule是实现了

IHttpModule接口的程序集。IHttpModule接口本身并没有什么好大写特写的,由它的名字

可以看出,它不过是一个普普通通的接口而已。实际上,我们关心的是实现了这些接口的类,

如果我们也编写代码实现了这个接口,那么有什么用途。一般来说,我们可以将Asp.Net

中的分成三个级别,最顶层是应用程序级、其次是页面级、最下面是控件级

的触发分别与应用程序周期、页面周期、控件周期紧密相关。而HttpMo

文档评论(0)

1亿VIP精品文档

相关文档