• ASP.NET MVC Global.asax文件中的事件


      1 public class MvcApplication : System.Web.HttpApplication
      2     {
      3         protected void Application_Start(object sender, EventArgs e)
      4         {
      5             //不是每次请求都调用
      6             //在Web应用程序的生命周期里就执行一次
      7             //在应用程序第一次启动和应用程序域创建事被调用
      8             //适合处理应用程序范围的初始化代码
      9         }
     10 
     11         void Application_End(object sender, EventArgs e)
     12         {
     13             //不是每次请求都调用
     14             //在应用程序关闭时运行的代码,在最后一个HttpApplication销毁之后执行
     15             //比如IIS重启,文件更新,进程回收导致应用程序转换到另一个应用程序域
     16         }
     17 
     18         void Session_Start(object sender, EventArgs e)
     19         {
     20             //不是每次请求都调用
     21             //会话开始时执行
     22         }
     23 
     24         void Session_End(object sender, EventArgs e)
     25         {
     26             //不是每次请求都调用
     27             //会话结束或过期时执行
     28             //不管在代码中显式的清空Session或者Session超时自动过期,此方法都将被调用
     29         }
     30 
     31         void Application_Init(object sender, EventArgs e)
     32         {
     33             //不是每次请求都调用
     34             //在每一个HttpApplication实例初始化的时候执行
     35         }
     36 
     37         void Application_Disposed(object sender, EventArgs e)
     38         {
     39             //不是每次请求都调用
     40             //在应用程序被关闭一段时间之后,在.net垃圾回收器准备回收它占用的内存的时候被调用。
     41             //在每一个HttpApplication实例被销毁之前执行
     42         }
     43 
     44         void Application_Error(object sender, EventArgs e)
     45         {
     46             //不是每次请求都调用
     47             //所有没有处理的错误都会导致这个方法的执行
     48         }
     49 
     50 
     51         /*********************************************************************/
     52         //每次请求都会按照顺序执行以下事件
     53         /*********************************************************************/
     54 
     55         void Application_BeginRequest(object sender, EventArgs e)
     56         {
     57             //每次请求时第一个出发的事件,这个方法第一个执行
     58         }
     59 
     60         void Application_AuthenticateRequest(object sender, EventArgs e)
     61         {
     62             //在执行验证前发生,这是创建验证逻辑的起点
     63         }
     64 
     65         void Application_AuthorizeRequest(object sender, EventArgs e)
     66         {
     67             //当安全模块已经验证了当前用户的授权时执行
     68         }
     69 
     70         void Application_ResolveRequestCache(object sender, EventArgs e)
     71         {
     72             //当ASP.NET完成授权事件以使缓存模块从缓存中为请求提供服务时发生,从而跳过处理程序(页面或者是WebService)的执行。
     73             //这样做可以改善网站的性能,这个事件还可以用来判断正文是不是从Cache中得到的。
     74         }
     75 
     76         //------------------------------------------------------------------------
     77         //在这个时候,请求将被转交给合适程序。例如:web窗体将被编译并完成实例化
     78         //------------------------------------------------------------------------
     79 
     80         void Application_AcquireRequestState(object sender, EventArgs e)
     81         {
     82             //读取了Session所需的特定信息并且在把这些信息填充到Session之前执行
     83         }
     84 
     85         void Application_PreRequestHandlerExecute(object sender, EventArgs e)
     86         {
     87             //在合适的处理程序执行请求前调用
     88             //这个时候,Session就可以用了
     89         }
     90 
     91         //-------------------------------------------------
     92         //在这个时候,页面代码将会被执行,页面呈现为HTML
     93         //-------------------------------------------------
     94 
     95         void Application_PostRequestHandlerExecute(object sender, EventArgs e)
     96         {
     97             //当处理程序完成对请求的处理后被调用。
     98         }
     99 
    100         void Application_ReleaseRequestState(object sender, EventArgs e)
    101         {
    102             //释放请求状态
    103         }
    104 
    105         void Application_UpdateRequestCache(object sender, EventArgs e)
    106         {
    107             //为了后续的请求,更新响应缓存时被调用
    108         }
    109 
    110         void Application_EndRequest(object sender, EventArgs e)
    111         {
    112             //EndRequest是在响应Request时最后一个触发的事件
    113             //但在对象被释放或者从新建立以前,适合在这个时候清理代码
    114         }
    115 
    116         void Application_PreSendRequestHeaders(object sender, EventArgs e)
    117         {
    118             //向客户端发送Http标头之前被调用
    119         }
    120 
    121         void Application_PreSendRequestContent(object sender, EventArgs e)
    122         {
    123             //向客户端发送Http正文之前被调用
    124         }
    125     }
  • 相关阅读:
    Python处理Excel文件
    WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
    深入理解Java虚拟机——读书笔记
    主要排序算法的Java实现
    LeetCode 67 Add Binary
    LeetCode 206 单链表翻转
    POJ 2388
    POJ 1207 3N+1 Problem
    POJ 1008 Maya Calendar
    关于指针的一些基本常识
  • 原文地址:https://www.cnblogs.com/xiabuyanyu/p/7807757.html
Copyright © 2020-2023  润新知