突然發現 ViewState,Linq 水火不容

2021-09-05 23:21:28 字數 1145 閱讀 3381

剛才在寫乙個小東西,突然發現乙個問題。很奇怪,希望大家能幫忙解決一下

我用webform+linq 做乙個小**,在讀取資料的時候,我想將linq 讀取出來的泛型集合快取起來。大家自然想到asp.net中的幾個內建物件來儲存。其實我也是這樣想的。頁面內部viewstate 最適合不過了。但是問題出現了。

這個linq 查詢出來的資料竟然和viewstate 水火不容,linq查詢出的結果集竟然不能存入到viewstate 中。

儲存**如下:

1public

void

setgameserver()27

else815

//viewstate["listserver"] = listserver;

16session[

"listserver"] 

=listserver;17}

18}

上面的**我已經使用session 來儲存了,後台的linq 查詢方式如下:

public

ilist

<

tabgamelink

>

gettabgamelinklist(

intgameid, 

inttypeid)

自己分析了一下上面的問題:

(1)上面的錯誤是"system.data.linq.changetracker..... 未標記為可序列化" ,標記為不可序列化,但是預設情況linq 生存的實體是可以序列化的。假設不能序列化,但是我已經手動給實體加了[serializable],按照道理應該不會出現這樣的問題。

(2)  以前記得viewstate 中儲存list集合似乎是沒有問題的,而且自己剛才也試過了,是沒有問題的。偏偏linq 查詢的結果就不能存入到viewstate中。是viewstate 對linq 有偏見,真是這樣那麼微軟對他們的關係就沒有調節好了,可以算得上是乙個bug了。

就是不明白viewstate 的儲存資料的原理,導致他們水火不容。希望大家幫幫忙,看看這兩個傢伙是咋回事。你看session儲存就偏偏沒事,但是我們不能說總用session來儲存吧,我只是單個頁面儲存,不需要跨頁面。大家有什麼解決辦法,留個言。幫我解決一下

發現近幾天路上突然不堵車了

這周到今天,每天上班突然發現路上沒有堵車的現象,一路暢通,哦,想起來了,是春節要來了,估計是大夥都回家過節去了吧。以前每天在班車上可以睡上一覺,在走走停停中入睡很快,現在剛入睡就感覺到了。不堵車現象在周一發生很大變化,看了各大 的春運情況,火車站 機場 各長途車張的客流量都很大,看來這麼多人回家北京...

突然發現foxmail原來是騰訊的

看一下foxmail創始人,榜樣與前輩 張小龍男,1969年12月出生,湖南人。1987年考入華中科技大學 原華中工學院 電信系 1994年畢業,獲碩士學位。同年到廣州工作,從事軟體開發。此後,他開發了一款優秀的國產電子郵件客戶端軟體 foxmail。1997年1月,foxmail 1.0 beta...

突然發現 你和我的紅線已被切斷

突然發現,你和我的紅線已被切斷。想念乙個人的滋味,其實不是那麼的好受。好想這麼久了,更多的是心酸,至於那心欣喜,只是短暫的 我不知道他為什麼會愛上另乙個人 我們總是會倔強的堅持說不想念,卻總會在看不見的人後 偷偷抹淚水。所有的目標都在黑暗中,只有行動才是與光明相伴的 據說是那樣的愛情好像是跟單身差不...