C#中Cookie,Session,Application的用法與區別?
2.Session 儲存在服務端,客戶端(瀏覽器)關閉即銷燬(若長時間不使用 且 瀏覽器未關閉的情況下, 預設自動銷燬時間為20分鐘)
3.Cookie 儲存在客戶端,由使用者自己銷燬
application:
程式全域性變數物件,對每個使用者每個頁面都有效
session:
使用者全域性變數,對於該使用者的所有操作過程都有效
cookie:
客戶端資訊存放物件,可以把使用者的資訊儲存在使用者的本地,
不必總是訪問伺服器
Application用於儲存所有使用者共用的資料資訊,如果被儲存的資料在應用程式生存期內根本不會改變或很少改變,用它。但是在asp.net中有個web.config,可能更好點。如果要使用application,一個需要考慮的問題是任何寫操作都有要在application_onstart事件中(Global.asax)中完成。儘管使用application.lock和application.unlock方法來避免操作的同步,但是它
使用方法:
//存放資訊
Application["test"] = "100";
//讀取
String test = Application["test"].ToString();
Session 用於儲存每個使用者的專用資訊,它的生存期是使用者持續請求時間再加上一段時間(可以在web.config中設定,預設是20分鐘)。Session中的資訊儲存在伺服器的記憶體中,當然你也可以設定它的儲存方法(如存在SQL資料庫中)。由於使用者停止使用程式後它仍然在記憶體中保持一段時間,因此使用Session物件儲存使用者資料的方法效率很低。對於小量的資料。使用Session還是一個不錯的選擇。
//存
Session["user"] = "majcms";
//取
String username = Session["user"].ToString();
Cookie用於儲存客戶瀏覽器請求伺服器頁面的請求資訊,
//存
Response.Cookies["name"].Value = "majcms";
//取
String username = Response.Cookies["name"].Value;
session: 該物件是HttpSession 型別的物件,描述一個客戶端與伺服器之間的一次通話時
段,該段時間內包含客戶端的若干次請求和伺服器的相應響應,整個時間段session 物件都
存在。常用來實現購物車之類的儲存當前使用者的資料。不同使用者有各自的不同session 物件。
application: 該物件是ServletContext 型別的物件,描述的是本身Web 程式。該物件在
Web 程式部署到tomcat 伺服器時由容器產生,其生命週期至Web 程式從tomcat
伺服器卸載出去時消失。是所有客戶端能共享的一個
全域性物件,整個系統只有一份。
Cookie以檔案的形式儲存的請求資訊