最近試了一下這個問題...

試了重建Session.Add似乎也沒效果...

不曉得是否SessionID不同的關係..

到目前為止還沒找到解決方法...

不曉得各位大大們是否有解決方法嗎?

 

感謝hatelove大大的幫忙

解了我疑惑的地方~

後來將Web.config中的sessionState中的mode設成StateServer

這個問題就迎刃而解了!︿︿

參考文章:http://blog.miniasp.com/post/2008/01/How-to-avoid-Session-data-loss-in-ASPNET.aspx

努力學習dot Net , 若有錯誤請多多指教 ^^

DotBlogs Tags: delete directory session
分類: ASP.Net posted on 2009/4/9 16:29 | 我要推薦 | 閱讀數 : 403 訂閱

# re: 操作Directory的Delete = Loss Session
Posted by hatelove on 2009/4/9 下午 04:54 回覆

Dear 蔥仔,

不確定您的directory指的是否為IIS底下的folder,

如果是,.NET 2.0之後有蠻多動作會影響到重新Compilation,會導致Session遺失。連結如下:從ASP.NET 2.0開始支援的「Dynamic Compilation」功能

如果您的情況的確是這樣造成的,提供一下我們的作法給您參考:

  • 發生原因:在sessionState採用「InProc Mode」的狀況下,只要刪除(或更名)網站的子目錄就會造成Session變數被清空。
  • 解決做法:
    • 以迴圈的方式刪除暫存目錄下的所有檔案,不要直接把暫存目錄刪除,此作法的effort較小,亦可將暫存目錄設置於網站根目錄下一併管理。
    • 將暫存目錄的位置移出網站的根目錄,如此便可任意刪除/更名此暫存目錄,缺點為管理上的effort較大(多一個虛擬目錄要管理)。
# re: 操作Directory的Delete = Loss Session
Posted by nelsonlin on 2009/4/9 下午 05:04 回覆

to hatelove :
感謝hatelove大~

沒錯 我要刪除的folder就是是IIS底下的

解決了我疑惑的地方^^

所以我把sessionState改成StateServer的狀態就解決這個問題了^^

 

Post Comment
標題 *
名稱 *
Email(將不會被顯示)
Url
登入後使用進階評論
Please add 7 and 1 and type the answer here: