Asp.Net生命周期系列三

时间:2023-12-24 21:27:49

上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下。

第一:雇佣了项目经理(HttpApplication)。

第二:建立了HttpModule列表,项目经理(HttpRunTime)就是按照这个工作列表去工作的。

第三:创建了Context上下文对象(包含了HttpRequest和HttpResponse两大主要对象),并把它转交给了HttpApplication去处理。

下面最重要的是HttpModule到底是个什么东东,HttpApplication又是怎么样按照它的工作列表去工作的。

当一个请求到达HttpModule时,整个Asp.Net系统并没有对这个Http请求做任何的处理,对于一个Http请求,HttpModule是这个请求的必经之路{Asp.Net内部的处理模型是一个管道流,也就是用户发出一个Http请求一定会从HttpModule这个容器中流过},所以我们可以在Http请求真正到达请求处理中心(HttpHandler)之前,添加一些需要的信息在这个Http请求上、或者针对截获的这个Http请求添加一些额外的工作,再或者干脆终止此次Http请求。可见HttpModule就相当于起到一个Filter过滤器的作用。

1、asp.net的HTTP请求处理过程

Asp.Net生命周期系列三

说明:
(1)、客户端浏览器向服务器发出一个http请求,此请求会被inetinfo.exe进程
截获,然后转交给aspnet_isapi.dll进程,接着它又通过Http
Pipeline的管道,传送给aspnet_wp.exe这个进程,接下来就到了.net
framework的HttpRunTime处理中心,处理完毕后就发送给用户浏览器。
(2)、当一个
http请求被送入到HttpRuntime之后,这个Http请求会继续被送入到一个被称之为HttpApplication
Factory的一个容器当中,而这个容器会给出一个HttpApplication实例来处理传递进来的http请求,而后这个Http请求会依次进入
到如下几个容器中:HttpModule --> HttpHandler Factory -->
HttpHandler。当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个Http
Request就被处理完成了,客户端也就得到相应的东东了。
(3)完整的http请求在asp.net framework中的处理流程:
HttpRequest-->inetinfo.exe->ASPNET_ISAPI.DLL-->Http
Pipeline-->ASPNET_WP.EXE-->HttpRuntime-->HttpApplication
Factory-->HttpApplication-->HttpModule-->HttpHandler
Factory-->HttpHandler-->HttpHandler.ProcessRequest()

也就是说一个HTTP请求在HttpModule容器的传递过程中,会在某一时刻(ResolveRequestCache事件)将这个HTTP请
求传递给HttpHandler容器。在这个事件之后,HttpModule容器会建立一个HttpHandler的入口实例,但是此时并没有将HTTP
请求控制权交出,而是继续触发AcquireRequestState事件以及PreRequestHandlerExcute事件。在
PreRequestHandlerExcute事件之后,HttpModule窗口就会将控制权暂时交给HttpHandler容器,以便进行真正的
HTTP请求处理工作。

而在HttpHandler容器内部会执行ProcessRequest方法来处理HTTP请求。在容器HttpHandler处理完毕整个
HTTP请求之后,会将控制权交还给HttpModule,HttpModule则会继续对处理完毕的HTTP请求信息流进行层层的转交动作,直到返回到
客户端为止。

2、HttpModule的工作原理

HttpModule实现了IHttpModule接口,我们可以定义自己类实现IHttpModule接口,从而把我们自己定义的HttpModule插入到HttpModule集合中让它成为Http请求的必经之路,以此来添加我们的控制。

asp.net自带的HttpModule如下:具体位置在C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG文件中

  <httpModules>
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule"/>
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/>
<add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule"/>
<add name="RoleManager" type="System.Web.Security.RoleManagerModule"/>
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/>
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule"/>
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule"/>
<add name="Profile" type="System.Web.Profile.ProfileModule"/>
<add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</httpModules>

这里的每个HttpModule在一个Http请求过来时都会流过。

3、我们可以定义自己的HttpModule

要变成HttpModule就必须实现IHttpModule接口,那么我们先来看看IHttpModule接口的内部是什么样的

using System;

namespace System.Web

{

    public interface IHttpModule

    {

        //   销毁不再被HttpModule使用的资源

        void Dispose();

        // 初始化一个Module,为捕获HttpRequest做准备

        void Init(HttpApplication context);

    }

}
下面是自己定义的HttpModule
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace ClassLibrary1
{
public class MyHttpModel:IHttpModule
{ public void Dispose()
{
throw new NotImplementedException();
} public void Init(HttpApplication context)
{
context.BeginRequest+=new EventHandler(context_BeginRequest);
context.EndRequest+=new EventHandler(context_EndRequest);
}
public void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
HttpContext context = application.Context;
HttpResponse response = context.Response;
response.Write("这是自定义的HttpModel中的BeginRequest事件产生的。");
}
public void context_EndRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
HttpContext context = application.Context;
HttpResponse response = context.Response;
response.Write("这是自定义的HttpModel中的EndRequest事件产生的。");
}
}
}

置文件如下

<httpModules>
      <add name="MyHttpModel" type="ClassLibrary1.MyHttpModel,ClassLibrary1"/>
</httpModules>

请求的Default.aspx.cs文件如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace ClassLibrary1
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("这是Default.aspx页面请求的内容信息。");
}
}
}

具体运行结果如下:

aaarticlea/jpeg;base64,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AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/2Q==" alt="" />

今天就写到这里吧,文章页有些长了,不过HttpModule还没有介绍完呢,如果您对我的文章感兴趣的话请继续关注我的下篇,下篇我们将继续介绍HttpModule这个东东的。

本系列:

一:Asp.Net生命周期系列一

二:Asp.Net生命周期系列二