文章目錄
發行者:[悠著點..] 來源:[本站] 瀏覽:[256] 評論:[0]
.net中的session丟失(1)
今天在給別人做個東西時,發現在本地測試好好的,可是到了伺服器就出錯。
後台不停的轉到登陸頁面。
測試了半天才發現是session的丟失了。。。
網路搜尋,哦,如此解決:
這幾天發現.NET的Session總是無故丟失,心裡明白是因為Model=InProc的問題 因為InProc是依賴進程的。
那就改吧 把模式改成將Session放在資料庫是不大現實太繁瑣 我還得去看技術文章學習 那就改成StateServer吧!!這個是儲存在一台sate server
這裡大家要注意:一旦改成StateServer運行時可能會出現一個異常 就是註冊表相關的不要慌 點擊控制台-----管理工具-----服務-----ASP.NET State Service
將其”啟動“異常就不會出現了呵呵!~~~ 但是,很嚴重的問題會出現 希望會給大家帶來協助
那就是如果將Session儲存模式設定為StateServer之後 後台代碼裡的Session將無法儲存對象(非序列化對象)這個問題很嚴重如果大家要是做購物車會被其困惑
很久的。這時我們需要將要儲存在Session的對象類進行序列化,那麼如何序列化呢?
就是將[Serializable()]寫到類名的上面這樣就OK了。。。原因是Session儲存模式設定為StateServer無法儲存非序列化對象
代碼如下:
//1 [Serializable()]
//2 public class ProductInfo
//3 {
// 4 private string productid;
// 5 private string productname;
// 6 private string productcode;
// 7 private string productcolor;
//8
//9 public string ProductID { get { return productid; } set { productid = value; } }
//10 public string ProductName { get { return productname; } set { productname = value; } }
//11 public string ProductCode { get { return productcode; } set { productcode = value; } }
//12 public string ProductColor { get { return productcolor; } set { productcolor = value; } }
不過這種我現在還是不能用,晚上回去測試一下了。。。(待續)
.net中的session丟失(1) 今天在給別人做個東西時,發現在本地測試好好的,可是到了伺服器就出錯。後台不停的轉到登陸頁面。測試了半天才發現是session的丟失了。。。網路搜尋,哦,如此解決: