Asp.net的状态管理方式:

(1)Application在首个请求到达创建,在应用程序关闭的释放,当前的应用程序的所有会话都可以使用.

(2)Session它首先是存在服务器端的,它是在用户发出首个请求时创建的用户结束会话:1〉SessionStateModule负责产生的session;2〉HttpApplication在请求的处理管道的在检查的当前的请求的是否实现的可System.Web.SessionState.IRequireSessionState接口,如果是实现就会为当前的请求分配一个session;3〉Web.config中配置<sessionStatecookieless=”true“>则会在URL将当前sessionid带上;4〉Session保存的位置:

<sessionStatemode=“InProc|StateServer|SQLServer”>

<sessionStatestateConnectionString="tcpip=127.0.0.1:42424"mode="StateServer"/>

创建数据库脚本文件在

C:\Windows\Microsoft.NET\Framework\v4.0.30319

下的:

InstallPersistSqlState.sql和

InstallSqlState.sql

可以用下面命令安装保存Session的数据库

aspnet_regsql-Usa-Pmaster–ssadd-sstypec-daspnetdb

一定要开数据库的TCPIP连接,否则不能创建成功

web.config可以配置成:

<sessionStatesqlConnectionString="server=.;database=aspnetdb;uid=sa;pwd=;"allowCustomSqlDatabase="true"mode="SQLServer"/>

(3)<inputtype=”hidden”>:就是隐藏域

(4)Cookie:用户每次向服务器发出请求时会自动附加在请求报文中,还可以设置保存时间,以便关闭浏览器后还可以继续保持状态通过服务器设置响应头:Set-cookie:cookie1=cookievalue;path=/告诉浏览器要保存cookie名为cookie1的值,在网站根路劲下。

(5)ViewState:单个页面中控件等的数据上下文,只有当前页面有用,页面上的_viewstate隐藏控件保存的实际上是base64字符串.

(6)url传参数(表单get的请求)querystring[],(表单的post请求)form[]....