当前位置: 代码迷 >> ASP.NET >> asp.net Global.asax 页面访问只执行一次的事件解决思路
  详细解决方案

asp.net Global.asax 页面访问只执行一次的事件解决思路

热度:6000   发布时间:2013-02-25 00:00:00.0
asp.net Global.asax 页面访问只执行一次的事件
一下罗列了很多的事件
? * Application_BeginRequest 发生在每个请求 非常的繁琐请求都会触发。
? ·Application_AuthenticateRequest 在安全模块建立起当前用户的有效的身份时,该事件被触发。在这个时候,用户的凭据将会被验证。
? ·Application_AuthorizeRequest 当安全模块确认一个用户可以访问资源之后,该事件被触发。
? ·Application_ResolveRequestCache 在ASP.NET确定是否应该生成新的输出,或者由缓存填充前触发。无论何种情况,都将执行该事件处理程序中的代码
? ·Application_AcquireRequestState 在获取会话状态之前执行
? ·Application_PreRequestHandlerExecute在ASP.NET 页面框架开始执行诸如页面或 Web 服务之类的事件处理程序之前,该事件被触发。
? ·Application_PreSendRequestHeaders 当HTTP处理程序与页面请求一起完成时触发。此时,Response对象将获得由客户端返回的数据。
? ·Application_PreSendRequestContent 在ASP.NET页面框架发送内容给请求客户(浏览器)时,该事件被触发。
? ·<<执行代码>>
? ·Application_PostRequestHandlerExecute在ASP.NET 页面框架结束执行一个事件处理程序时,该事件被触发。
? ·Application_ReleaseRequestState 当释放和更新试图状态时触发
? ·Application_UpdateRequestCache 如果输出被缓存,那么缓存更新时将触发
? ·Application_EndRequest 当请求结束时执行

但是上面的事件都会执行很多次。。这样效率就很低。我现在想要达到的目的就是能在用户访问每一个页面的时候,都执行一次相同的控制。 但是上面的方法在页面访问的时候要执行很多次。 请问 有只执行一次的事件、或者在Global.asax下比较好的控制方法吗?

------解决方案--------------------------------------------------------
2楼的是对的 用HttpModule ?
当然你也可以 override OnInit 事件
  相关解决方案