Asp.net中的状态保持方案
2013-03-15 00:37
211 查看
客户端的状态保持方案:ViewState、隐藏域、Cookies、控件状态、URL查询参数
服务端的状态保持方案:Session(会话)、Application、Caching(缓存)、DataBase(数据库)
一、使用ViewState:
(1)页面上必须有一个服务器端窗体标记(<form runat="server">)
(2)服务器在接收到用户请求一个页面后,会自动在请求报文中找看是否包含__VIEWSTATE的隐藏域,如果有,则将中间的值解码后添加到页面的ViewState属性中。
(3)服务器在输出时,会自动的将ViewState中的值添加到表单里名叫__VIEWSTATE的隐藏域中。
ViewState适用于同一个页面在不关闭的情况下多次与服务器交互。
二、使用Cookie:
Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术。
当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
浏览器保存Cookie有两种方式:(看是否设置过期时间)
1—浏览器的内存中;
2—浏览器所在的电脑的硬盘中。为将要写入到浏览器的Cookie对象设置失效时间:
cook.Expires = DateTime.Now.AddMinutes(5);//设置cook5分钟后失效
开发场景:常用于登录和保存用户最近浏览商品
Cookie的操作:
服务器设置Cookie:
HttpCookie cook = new HttpCookie(“uId”, “10001”);//(“键”,”值”)
cook.Expires = DateTime.Now.AddDays(18);//设置失效日期-现在之后的18天后
context.Response.Cookies.Add(cook); //添加到响应中
服务器获得客户端传来的Cookie:
string strUName=context.Request.Cookies[“uId”].Value;//从请求中获得Cookie
三、使用Session:
Session提供了一种把信息保存在服务器内存中的一种方式。
在整个用户会话过程中都会保留此信息。
当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Session 对象中的变量不会被丢弃。
当会话过期或终止时,服务器就会清除 Session 对象
开发场景:常用于保存登录用户ID
四、Application:
在服务器端保存网站共享数据的一种方式;
服务端的状态保持方案:Session(会话)、Application、Caching(缓存)、DataBase(数据库)
一、使用ViewState:
(1)页面上必须有一个服务器端窗体标记(<form runat="server">)
(2)服务器在接收到用户请求一个页面后,会自动在请求报文中找看是否包含__VIEWSTATE的隐藏域,如果有,则将中间的值解码后添加到页面的ViewState属性中。
(3)服务器在输出时,会自动的将ViewState中的值添加到表单里名叫__VIEWSTATE的隐藏域中。
ViewState适用于同一个页面在不关闭的情况下多次与服务器交互。
二、使用Cookie:
Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术。
当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
浏览器保存Cookie有两种方式:(看是否设置过期时间)
1—浏览器的内存中;
2—浏览器所在的电脑的硬盘中。为将要写入到浏览器的Cookie对象设置失效时间:
cook.Expires = DateTime.Now.AddMinutes(5);//设置cook5分钟后失效
开发场景:常用于登录和保存用户最近浏览商品
Cookie的操作:
服务器设置Cookie:
HttpCookie cook = new HttpCookie(“uId”, “10001”);//(“键”,”值”)
cook.Expires = DateTime.Now.AddDays(18);//设置失效日期-现在之后的18天后
context.Response.Cookies.Add(cook); //添加到响应中
服务器获得客户端传来的Cookie:
string strUName=context.Request.Cookies[“uId”].Value;//从请求中获得Cookie
三、使用Session:
Session提供了一种把信息保存在服务器内存中的一种方式。
在整个用户会话过程中都会保留此信息。
当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Session 对象中的变量不会被丢弃。
当会话过期或终止时,服务器就会清除 Session 对象
开发场景:常用于保存登录用户ID
四、Application:
在服务器端保存网站共享数据的一种方式;
相关文章推荐
- ASP.NET状态保持方案若干
- ASP.NET中的状态(信息)保持方案
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- Asp.Net之ViewState状态保持
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- Web Service中保持ASP.net的状态
- ASP.NET 状态的传递和保持
- ASP.NET保持用户状态的九种选择(下)
- ASP.NET保持用户状态的九种选择
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- ASP.NET中Session的状态保持方式
- ASP.NET中Session的状态保持方式
- ASP.NET保持用户状态的九种选择
- Web Service中保持ASP.net的状态
- asp.net状态保持viewstate,session,cookie,application
- ASP.NET 中Session的状态保持方式(转)
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- Asp.net常用状态管理方案分析
- asp.net状态保持
- ASP.NET保持用户状态的九种选择(上)