Web端 session cookies Application viewstate

URL传值/QueryString
1、不占用服务器内存
2、保密性差,传递值的长度有限

 

因为  上篇文章 保密性差,长度有限   传值有限只能传string类型的值

这篇文章学的知识是

 

session 

 

赋值

string s=TextBox1.Text;

session["aa"]=s;              //  aa只是传值名   也可以用别的传值名 接受用你传值的名

Response.Deriect("Default.aspx");

取值

Label1.Text=session["aa"].tostring();

 

假设  有个学生类传值

Student s=new Student();

s.name="张三";

s.sex=true;

session["aa"]=s;

Response.Dedirect("Default.aspx");

接受

Student  s=session["aa"]  as Student;

Label1.text=s.name;

存贮在服务端,占用服务器内存
很好用,速度很快
不要滥用,容易溢出

生命周期:20分钟,每一次新的请求都会刷新这个时间

浏览器一旦关闭(是同一个浏览器不是页面),那么会断开此条Session的连接

 

 

 

 

Cookie
与Session一模一样
不一样的地方:Cookies是存储在客户端的

 

传值

string s=TextBox1.text;

Response.Cookies["aa"].value=s;

取值

if(Request.Cookies["aa"]!=null)       假设没有接受值  设置对象为null

{

string ss=Request.Cookies["aa"].value;

Label1.text=ss;

}

与Session一模一样
不一样的地方:Cookies是存储在客户端的

 

Session很安全,但是消耗服务器内存
Cookies,不消耗服务器内存,存在客户端上,但是有可能被访问

 

持久cookies

 

假设期限为3天

Request.Cookies["aa"].Expires=Datetime.Now.Adddays(3);

 

退出  期限不抱持            期限为负数

Request.Cookies["aa"].Expires=Datetime.Now.Adddays(-10); 

 

Application

传值和session一样

Application["aa"]=TextBox1.text;

Response.Dedirect("Default.aapx");

取值

string s=Application["aa"].tostring();

Label1.text=s;
存贮在服务器端,占用服务器内存(只要服务器不关闭或者或者重启)
生命周期:永久(可以当临时数据库用)

所有人访问的都是这一个对象

 

posted @ 2017-05-22 21:56  天晴微笑  阅读(188)  评论(0编辑  收藏  举报