session基本操作添加 修改 session項session.add("test", datetime.now);
session["test"] = datetime.now;添加和修改session的方法是一樣的,當指定的session標識不存在時,系統會添加。當存在時系統會更新。刪除 session項session.remove("test");不要使用session["test"] = null; 這樣只是將值設置為null!移除所有session項session.clear(); 或 session.removeall();終止當前會話狀態session.abandon();當前session項數量session.count當前sessionidsession.sessionidsession何時創建所有浏覽器(ie、chrome、firefox)當第一次打開浏覽器時(當前未運行浏覽器時),服務器端會創建新的session。ie浏覽器,當已有浏覽器運行時,打開新的浏覽器則會創建新的session。而chrome、firefox當已有浏覽器運行時,打開新的浏覽器不會創建新的session。當session過期後,繼續訪問時會創建session。當session創建時會觸發 global.asax 中的session_start方法。session何時過期
網站關聯的應用程序池,的回收時間限制。經測試也不起效。但如果手動回收或設置定時回收則起效。(如何關聯網站應用程序池如下圖)
如何防止session過期可以設置較長的session過期時間。但如果設置過長可能會引起服務器負擔過重。將session模式設置為進程外或數據庫教程中。在此就不做討論。一般實際情況可能是,用戶在某些頁面,如博客文章提交頁,在編輯過程因為要很長時間。可能在提交時發現session過期了。而導致用戶信息丟失無法提交文章。如果是這種情況,可能只想將指定頁面的session時間延長。可以通過ajax定時訪問後台的一空白頁面。來保持session在線。<script type="text/網頁特效">public class constants { /// <summary> /// 當前session個數 /// </summary> public static int sessioncount = 0; /// <summary> /// 累計session個數 /// </summary> public static int sessionallcount = 0; } 在global.asax中添加view sourceprint? void session_start(object sender, eventargs e) { constants.sessionallcount++; constants.sessioncount++; session["sessionstartdatetime"] = datetime.now; } void session_end(object sender, eventargs e) { constants.sessioncount--; }