application session cookie

来源:互联网 发布:七日杀捏脸数据站 编辑:程序博客网 时间:2024/05/29 06:39
application
application的数据保存在服务器的内存中,当关闭服务器时会丢失数据.
整个应用程序的生命期,对所有用户

session
session的数据保存在服务器的内存中,当关闭服务器或用户退出网站都会丢失数据.
当客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),
如果已包含,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),
session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。
Session["username"]="" 就相当于Session(sessionid)["username"]=""
Cookie的依赖性:实际上客户端的Session信息是存储与Cookie中的,如果客户端完全禁用掉了Cookie功能,
他也就不能享受到了Session提供的功能了。(一般是20分钟左右),对单个用户

cookie
cookie 的数据保存在用户的硬盘中,当用户把cokie文件删除就会丢失数据.
Cookie是保存在客户端中(Expires,Path ,Domain ,Secure)对单个用户

两种方法写
Response.Cookies["UserSettings"]["Font"] = "Arial";
Response.Cookies["UserSettings"]["Color"] = "Blue";
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);

HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie["Font"] = "Arial";
myCookie["Color"] = "Blue";
myCookie.Expires = DateTime.Now.AddDays(1d);
Response.Cookies.Add(myCookie);

Request.Cookies["UserSettings"]["Font"]
删除
if(Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

viewstate
viewstate的数据保存在服务器的内存中,当关闭服务器或用户退出网站或用户关闭该网页都会丢失数据.
viewstate相当于某个页面的 session(也相当于hidden控件)对单个用户
只要关闭这个页面(link到另一个页面)就会丢失
ViewState["SortOrder"] = "DESC";