(asp.net)關(guān)于SessionState與序列化的一點(diǎn)教訓(xùn)很簡(jiǎn)單的東西,因?yàn)樵趯W(xué)習(xí)中遇到了,所以記錄下來(lái).事情的起因是,我在做一個(gè)購(gòu)物藍(lán)時(shí),將一個(gè)自定義的類CartManager整個(gè)放進(jìn)Session中,它的部分代碼如下,其實(shí)就是有一個(gè)Private的ArrayList成員_cart用來(lái)放CartInfo類實(shí)例,而CartInfo類又包括一個(gè)成員ProductInfo _product和一個(gè)double _moneny...并不復(fù)雜.但是我都沒(méi)有弄任何Serializable的東西,于是... 本機(jī)調(diào)試沒(méi)問(wèn)題,放到服務(wù)器上卻發(fā)現(xiàn)這個(gè)購(gòu)物車表現(xiàn)非常怪異,時(shí)好時(shí)壞,總覺(jué)得好象Session里的東西亂得很,有時(shí)能存進(jìn)去有時(shí)存不進(jìn)? 比較了本機(jī)與服務(wù)器的環(huán)境,我知道問(wèn)題肯定與SessionState有關(guān).因?yàn)榉⻊?wù)器用了Web Farm(并且將最大工作進(jìn)程數(shù)設(shè)置成了10). 一般我們?cè)谧鲆粋(gè)WEB Application的時(shí)候,它的SessionState的Mode=InProc的,可參見(jiàn)web.config文件中的配置 <sessionState 如果要保存的對(duì)象很簡(jiǎn)單,都是由基本類型組成的,就只需要聲明一下屬性即可,如: [Serializable()] 對(duì)于本例中,CartInfo 與 ProductInfo兩個(gè)類,可以這樣聲明一下.只是CartManager就稍多幾句話,如下:
這樣實(shí)現(xiàn)了整個(gè)CartManager--CartInfo--ProductInfo的可序列化聲明,于是就一切正常了...
|
|||||
|
若文檔內(nèi)容對(duì)您沒(méi)有幫助,不能解決問(wèn)題?
您還可以
咨詢?cè)诰客服
或 提交工單
或 搜索常見(jiàn)問(wèn)題
,我們將竭誠(chéng)為您服務(wù)。
|
|||||
| >> 相關(guān)文章 | |||||
|
|
|||||