首页 > 代码库 > asp.net架构基础知识--页面以及全局事件

asp.net架构基础知识--页面以及全局事件

1.asp.net的请求过程,以及对应的处理请求的dll
客户的请求页面由aspnet_isapi.dll这个动态连接库来处理,把请求的aspx文件发送给CLR进行编译执行,然后把Html流返回给浏览器

2.页面事件(按照事件的执行顺序排列)

Page_Init:初始化值或连接 
Page_Load:主要使用IsPostBack,该事件主要执行一系列得操作来首次创建asp.net页面或响应 
由投递引起得客户端事件。在此事件之前,已还原页面和控件视图状态。 
Page_DataBind:在页面级别上调用,也可在单个控件中调用。 
DataBind_PreRender:数据绑定预呈现,恰好在保存视图状态和呈现控件之前激发此事件。 
Page_Unload:此事件是执行最终清理工作的。 
非确定事件 
Page_Error:如果在页面处理过程中出现未处理的例外,则激发error事件。 
Page_AbortTransaction:交易事件,事务处理中如果已终止交易,则激发此事件,购物车常用。 
Page_CommitTransaction:如果已成功交易,则激发此事件。

可以通过在页面上定义@Page Transaction=Required来定义页面的时间属性。不过该方式不一定见得在页面开启事务给人的感觉不是很好。

Global.asax中的事件(执行顺序) 
Application_Start:应用程序启动时激发 
Application_BeginRquest:http请求开始时激发 
Application_AuthenticateRequest: 应用程序批准http请求时激发 
Session_Start: 会话启动时激发 
Application_EndRequest:Htttp请求结束时激发 
Session_End:会话结束时激发 
Application_End:应用程序结束时激发 
Application_Error: 发生错误时激发