ASP.NET编程之Web Site基础

Session

Session状态被保存在服务器端的内存中,作为ASP.NET进程的一部分。然而Session状态保存地址不同于ASP.NET进程,或者保存在一个单独的状态服务器中,或者保存在一个SQLServer数据库中,这样即使系统崩溃或ASP.NET进程重启也不会遗失数据。Sessions是以一个120bitSessionID作为标识的,SessionID是从客户端送至服务器端的,返回客户端时根据程序的配置使用HTTPcookie或者一个修改的URLSessionID是通过.NETFramework自动处理的,没必要使用编程操作。SessionID包含合法的URLASCII字符串,它有两个重要特点:

  1. 每个SessionID是全球唯一的。

  2. SessionID是随机给出的,根据现有的SessionID是不可能猜出下一个SessionID的。


Application

一个webApplication由几个部分组成:webpages, files, components, code, images

global.asax包含有webapplication的全局代码,它含有几个事件处理器:Application_Start,Application_End, Application_Error, Session_Start,Session_End。当程序收到用户的的第一个请求时,Application_Start事件被激活;如果global.asax文件被编辑并保存,所有挂起的请求都被完成,之后Application_End事件才被激活,程序(application)会被重启。


网页周期:WebPage Lifecycle

当页面第一次加载,需要实现以下步骤:

  1. 运行构造函数。

  2. 指定PostBack模式,是第一次加载,自我投递,还是跨页面投递?

  3. 预初始化(pre-initialization)。在这个步骤中需要在页面初始化之前指定目标设备。

  4. 个性化和主题被加载和初始化。

  5. 初始化(Initialization):这个过程是控件树(controltree)建立的时期。与之对应的是Init事件和OnInit方法。

  6. 预加载(Pre-Load):是出现在投递数据被加载到控件之前,与之对应的是PreLoad事件和OnPreLoad方法。

  7. 加载(Load):运行用户代码,表单控件显示客户端数据,与之对应的是Load事件和OnLoad方法。

  8. 加载完成:加载过程完成,与之对应的是LoadComplete事件和OnLoadComplete方法。

  9. 预显示(Pre-render):这个过程是在输出被显示之前,与之对应的是PreRender事件和OnPreRender方法。

  10. 保存状态(Savestate):个性化,控件,视图和页面状态被保存。

  11. 显示(Render):页面和控件以HTML的形式显示。

  12. 卸载(Unload):这是生命周期的最后一步了,它做了最后的清理工作。

原文地址:https://www.cnblogs.com/java20130722/p/3207143.html