1、cookie1、cookie是存在客戶端(瀏覽器)的進程內存中和客戶端所在的機器硬盤上2、cookie只能能夠存儲少量文本,大概4K大小3、cookie是不能在不同瀏覽器之間共享
3、創建cookie對象的寫法演示 //3.0 實例化cookie對象HttpCookie cookie = new HttpCookie("uid", uid);// 告訴瀏覽器只有請求指定了路徑下的頁面 才將cookie發送給服務器,如果未指定默認就是 /cookie.Path = "/P01cookiedemo/";
// 設置了Expires 參數則表示告訴瀏覽器將cookie存入硬盤中,cookie.Expires = DateTime.Now.AddDays(3);
//設置了Domain,告訴瀏覽器只有請求www.c11.com 域名下的頁面才將cookie發送給服務器cookie.Domain = "www.c11.com";
//4.0 將cookie添加到響應報文頭中發送回瀏覽器保存,Response.Cookies.Add(cookie);4、獲取瀏覽器通過請求報文頭 發送給服務器的cookie 值的 寫法,uid:為cookie的鍵,可以由程序員自己定義if(Request.Cookies["uid"]!=null){Request.Cookies["uid"].Value;}5、清除cookie 代碼寫法:HttpCookie cookie = Request.Cookies["uid"]; cookie.Expires = DateTime.Now.AddYears(-1); cookie.Path = "/P01cookiedemo/";
Response.Cookies.Add(cookie);5、單點登錄2、GMT,UTC時間 零時區的時間,東區 + 小時 西區:-小時linux系統默認的時間就是UTC時間
3、Session1、存在服務器端,存在網站進程的內存中2、在初次設置session的時候,會在session池中實例化一個session對象,以asp.net_sessionid 的值作為key,同時會將key以cookie的形式保存到客戶端的內存中3、session的作用域只存在當前瀏覽器的會話中,當瀏覽器關閉以后就會將sessionid丟失,但是服務器的session對象要20分鐘以后才會回收
清除Session:context.Session[“name”]=null;context.Session.Abandon();
4、在web.config中的 <system.web> 節點下添加 <sessionState timeout="5" cookieless="true"></sessionState> 手動修改session的相關設置注意點:aspx編譯完成以后會自動實現接口IRequiresSessionState,所以能夠直接使用session但是一般處理程序,需要程序員自己手動實現system.Web.SessionState.IRequiresSessionState接口 ,才能夠使用session對象
如果瀏覽器禁用了cookie,則可以使用設置:<sessionState cookieless="true"></sessionState> 來開啟url傳入sessionid到服務器,但是不推薦使用
新聞熱點
疑難解答