[導(dǎo)入]因?yàn)閟ession引起的bug
我們做了一個預(yù)定系統(tǒng),里面有散客、800代客下單,兩者共享代碼,所以代客下單利用一個session的attribute來作為是否是代客下單的標(biāo)識(因?yàn)橄聠紊婕暗搅撕脦讖埖捻撁妫?dāng)然這個屬性本來應(yīng)該是跟著訂單的信息的,但是因?yàn)槭沁z留代碼上開始進(jìn)行的開發(fā),所以~~~
在用戶退出系統(tǒng)的時候沒有清空這個session變量,所以首先用800屬性的角色登陸做了訂單預(yù)定的動作,然后再用散客下單,發(fā)現(xiàn)散客的單也下成了代客下單。這個問題是在我們測試其他的問題的時候發(fā)現(xiàn)的,雖然bug發(fā)作的機(jī)會不大,但是它代表了一類的問題:就是session使用的隨意性。不知道其他的項目組怎么做,反正我們在做開發(fā)的時候都不是很注意session的清空,有時候?yàn)榱朔奖愦罅渴褂胹ession,這樣做一個是會出現(xiàn)bug,另外也會引發(fā)系統(tǒng)性能的下降。
當(dāng)然這個不是一個有難度的問題,我想如果要解決也比較容易,session的使用往往都是跟著用戶,對于某個用戶最好是只有一個session變量跟著他,可以做一個比較復(fù)雜的對象,這樣在用戶退出的時候直接清空固定的一個session對象就可以解決了。
這個問題考慮得還不是很全面,不知道諸位看官有沒有對于session使用一整套解決方案?恩,繼續(xù)尋找答案中~~~
文章來源:http://blog.donews.com/crabhn/archive/2006/02/18/730954.aspx
posted on 2006-02-18 09:33 crabhn's blog 閱讀(321) 評論(0) 編輯 收藏