public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session["username"] = "tom";
string sessionID = Session.SessionID;
}
}
在页面table.aspx.cs中取出session,并获取sessionID,
public partial class table : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = Session["username"].ToString();
string sessionID = Session.SessionID;
}
}
在同一个浏览器的同一次会话中,两个sessionID相同。这是因为,当设置Session,页面响应时,会想浏览器的Cookie中自动写入一个Key为“ASP.NET_SessionId”,Value为SessionID的cookie键值对,默认改session是全网站有效。当用户在该浏览器下,再次访问页面,会将此cookie发送给服务器。
public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("username","tim");
Response.SetCookie(cookie);
}
}
在程序运行结束,可以在浏览器中看到Cookies中已经存放了Name为username,Value为tim的cookie,如果cookie不设置过期时间,默认浏览器关闭,cookie失效。
public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = Request.Cookies["username"].Value;
}
}
使用jQuery的cookie插件,设置cookie
Cookies.set('language', 'zh');
读取cookie
var a= Cookies.get('language');
设置LocalStorage
localStorage.language="zh";
读取LocalStorage
var a= localStorage.language;
设置Session Storage
sessionStorage.language="zh";
读取Session Storage
var a= sessionStorage.language;
默认WebService中的Session并没有启用,若需要启用,则需要输入
[WebMethod (EnableSession=true)]
启用后,可以在函数中使用session,使用方法与在aspx后台使用方法一致
[WebMethod (EnableSession=true)]
public string HelloWorld()
{
Session["hi"] = "123";
return Session.SessionID;
}
只有向session中存放数据,sessionID才会被写入到浏览器的cookie中