session:全局变量组
存放位置:存放在服务器上
用法:相当于一个变量的使用方法,存在于服务器内存上,抓取速度快
主界面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
string s = TextBox1.Text;
Session["a"] = s;
}
}
副界面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(Session["a"]!=null)
Label1.Text = Session["a"].ToString();
}
}
作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量
优点:安全,速度快,全局访问无限制
缺点:消耗服务器内存资源
弊端:session占用服务器资源,每一个访问对象都会创建session,如果访问对象过多,会占用过多服务器资源,造成服务器崩溃。
Session生命周期:20分钟
注意:1、不要存大量数据在Session里
2、临时Session取完无用后记得 = null清空它,释放内存资源
cookie-全局变量组
存放位置:客户端电脑硬盘上
作用:保存数据信息,只能保存字符串,全局访问
用法:
赋值:用response
string s = TextBox1.Text;
Response.Cookies["b"].Value = s;
取值:用request
Label1.Text = Request.Cookies["b"].Value;
定义使用期限:response
Response.Cookies["username"].Expires = DateTime.Now.AddDays();//三天期限
跳转页面地址栏不转变的方法:server.transfer
Server.Transfer("Default2.aspx?id=1111111111111111");
用法简例:
主界面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
string s = TextBox1.Text;
//Session["aa"] = s;
if (s == "zhangke" && TextBox2.Text == "")
{
Response.Cookies["username"].Value = s; if (CheckBox1.Checked)
{
Response.Cookies["username"].Expires = DateTime.Now.AddDays();//三天期限
} //Response.Redirect("Default2.aspx");
Server.Transfer("Default2.aspx?id=1111111111111111");
}
else
Response.Write("用户名密码错误!"); }
}
副界面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["username"] != null)
Label1.Text = Request.Cookies["username"].Value;
else
Response.Redirect("Default.aspx"); Label1.Text += "," + Request["id"]; Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e)
{
Response.Cookies["username"].Expires = DateTime.Now.AddDays(-);
Response.Redirect("Default.aspx");
}
}
会话Cookie消失的办法:
1、浏览器一关,此次访问一中断
2、没有任何新的提交,20分钟过期
3、手动清楚浏览器Cookie
持久Cookie消失的办法:
1、代码设置过期
2、手动清楚浏览器Cookie