HttpApplication 类定义 ASP.NET 应用程序中的所有应用程序对象共有的方法、属性和事件。此类是用户在 Global.asax 文件中所定义的应用程序的基类。
应用程序按照以下顺序执行由 global.asax 文件中定义的模块或用户代码处理的事件(用于给HttpModule注册使用的19个事件委托):
1、BeginRequest(在 ASP.NET 响应请求时作为 HTTP 执行管线链中的第一个事件发生。)
2、AuthenticateRequest (当安全模块已建立用户标识时发生)
3、PostAuthenticateRequest (在当前已请求的用户已获授权时发生)
4、AuthorizeRequest (当安全模块已验证用户授权时发生)
5、PostAuthorizeRequest (在当前请求的用户已获授权时发生)
6、ResolveRequestCache (在 ASP.NET 完成授权事件以使缓存模块从缓存中为请求提供服务后发生,从而绕过事件处理程序(例如某个页或 XML Web services)的执行。)
7、PostResolveRequestCache (在 ASP.NET 跳过当前事件处理程序的执行并允许缓存模块满足来自缓存的请求时发生。)。
8、PostMapRequestHandler(在 ASP.NET 已将当前请求映射到相应的事件处理程序时发生。)
9、AcquireRequestState(当 ASP.NET 获取与当前请求关联的当前状态(如会话状态)时发生。)
10、PostAcquireRequestState(在已获得与当前请求关联的请求状态(例如会话状态)时发生。)
11、PreRequestHandlerExecute(恰好在 ASP.NET 开始执行事件处理程序(例如,某页或某个 XML Web services)前发生。)
12、PostRequestHandlerExecute(在 ASP.NET 事件处理程序(例如,某页或某个 XML Web service)执行完毕时发生。)
13、ReleaseRequestState(在 ASP.NET 执行完所有请求事件处理程序后发生。 该事件将使状态模块保存当前状态数据。 )
14、PostReleaseRequestState(在 ASP.NET 已完成所有请求事件处理程序的执行并且请求状态数据已存储时发生。)
15、UpdateRequestCache(当 ASP.NET 执行完事件处理程序以使缓存模块存储将用于从缓存为后续请求提供服务的响应时发生。)
16、PostUpdateRequestCache(在 ASP.NET 完成缓存模块的更新并存储了用于从缓存中为后续请求提供服务的响应后,发生此事件。)
17、LogRequest(恰好在 ASP.NET 为当前请求执行任何记录之前发生。)
18、PostLogRequest(在 ASP.NET 处理完 LogRequest 事件的所有事件处理程序后发生。)
19、EndRequest(在 ASP.NET 响应请求时作为 HTTP 执行管线链中的最后一个事件发生。)
参考:
https://msdn.microsoft.com/zh-cn/library/system.web.httpapplication%28v=vs.110%29.aspx