asp.net的请求管道事件

Posted jesen1315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 接口来进行扩展。

 

以上是关于asp.net的请求管道事件的主要内容,如果未能解决你的问题,请参考以下文章

asp.net页面生命周期请求管道19个事件

ASP.NET机制详细的管道事件流程

ASP.NET 管道事件与HttpModule, HttpHandler简单理解

Asp.Net MVC 的19个管道事件

学习ASP.NET Core,怎能不了解请求处理管道[2]: 服务器在管道中的“龙头”地位

ASP.NET处理管道初谈