昨天寫東西又遇到一個靈異現象是有關 session的

這個問題之所以堪稱靈異是因為....

用了那麼久的session都不知道有這限制 @@

發生原因

===================================

是醬的

我做了一個活動頁,這個頁面選完商品後,會將選好的多項商品丟到購物車中新增

而從活動頁丟商品到購物車的方法是用http post 

而購物車用"我本來覺得"應該是唯一的 sessionid 做為客戶編號

但是居然發現 SessionID 一 reload 就會改變 @@

 

是類似這樣寫 :

Dim CustomerID as String = Session.SessionID

然後 write 出 CustomerID 後居然發現每次重新整理頁面後都不一樣

SessionID 每次重新整理都不一樣還玩個 p 啊 @@

然後覺得很詭異,所以做了一個測試頁面叫 test.aspx

裡面只放這行 <%=Session.SessionID%>

然後重新整理也是一樣的問題,SessionID 每次都不一樣十分的可怕

 

解決方式

===================================

在隔壁的主管瑞森google之後,找到國外某網站疑似問題發生的原因

就是....

如果要直接抓取 Session.SessionID 必須在使用過 Session 之後

用中文來說就是 :

你必須先 

Session("xxx") = ""  ' 此時記憶體才會配置

Response.Write(Session.SessionID) 

這時候的 Session.SessionID 才會是不變的

不然在還沒使用過 Session之前,你每次重新整理頁面他都會給你新的一組

因此....為了取得SessionID,我只好加了莫名奇妙的一行.....

Session("xxx") = ""

為什麼昨天發生的事今天才寫呢,因為昨天工作比較認真所以沒空寫

不寫又怕忘記,特此筆記

    全站熱搜

    小雕 發表在 痞客邦 留言(3) 人氣()