asp.net的请求管道事件

一、引言

  上篇介绍了Http的请求过程提到了在请求进入到创建完 HttpApplication 对象后,将进入一系列的处理事件Event,那么这些事件具体都有哪些呢,这篇文章就来简要阐述一下。

二、正文

  既然请求最后交给了 HttpApplication 处理,那么通过获取该对象,我们就可以通过反射来获取到该对象当中所有的事件,先看下具体的代码。

public ViewResult GetEvents()
{
        HttpApplication application = HttpContext.ApplicationInstance;
        List<SysEvent> sysEventList = new List<SysEvent>();
        foreach (EventInfo item in application.GetType().GetEvents())
        {
            sysEventList.Add(new SysEvent()
        {
            Name = item.Name,
            TypeName = item.GetType().Name
        });
        }

        return View(sysEventList);

}                

  所以我们可以知道,httpapplication 会按照顺序执行25个事件,这些具体的事件如下: 

而一般都会执行的事件为2到21这19个事件。那么了解了这些事件之后,我们可以做什么呢?我们可以在处理请求的时候增加一些我们自定义的功能,那么如何增加呢,可以通过实现 IHttpModule 接口来进行扩展。

原文地址:https://www.cnblogs.com/jesen1315/p/10987199.html