
(asp.net)關(guān)于SessionState與序列化的一點教訓- 虛擬主機問題,虛擬主機域名注冊-常見問題,虛擬主機,網(wǎng)頁制作,域名注冊,主機,企業(yè)郵局,主頁空間,個人主頁,網(wǎng)絡(luò)實名,主機托管,網(wǎng)站建設(shè),域名">
虛擬主機域名注冊-常見問題 → 虛擬主機問題 → 虛擬主機問題 | |||||||
(asp.net)關(guān)于SessionState與序列化的一點教訓
事情的起因是,我在做一個購物藍時,將一個自定義的類CartManager整個放進Session中,它的部分代碼如下,其實就是有一個Private的ArrayList成員_cart用來放CartInfo類實例,而CartInfo類又包括一個成員ProductInfo _product和一個double _moneny...并不復雜.但是我都沒有弄任何Serializable的東西,于是... 本機調(diào)試沒問題,放到服務(wù)器上卻發(fā)現(xiàn)這個購物車表現(xiàn)非常怪異,時好時壞,總覺得好象Session里的東西亂得很,有時能存進去有時存不進? 比較了本機與服務(wù)器的環(huán)境,我知道問題肯定與SessionState有關(guān).因為服務(wù)器用了Web Farm(并且將最大工作進程數(shù)設(shè)置成了10). 一般我們在做一個WEB Application的時候,它的SessionState的Mode=InProc的,可參見web.config文件中的配置 <sessionState 如果要保存的對象很簡單,都是由基本類型組成的,就只需要聲明一下屬性即可,如: [Serializable()] 對于本例中,CartInfo 與 ProductInfo兩個類,可以這樣聲明一下.只是CartManager就稍多幾句話,如下:
這樣實現(xiàn)了整個CartManager--CartInfo--ProductInfo的可序列化聲明,于是就一切正常了...
|
|||||||
>> 相關(guān)文章 | |||||||