session優(yōu)點(diǎn):
1.如果要在諸多Web頁間傳遞一個(gè)變量,那么用Session變量要比通過QueryString傳遞變量可使問題簡化。
2.要使WEb站點(diǎn)具有用戶化,可以考慮使用Session變量。你的站點(diǎn)的每位訪問者都有用戶化的經(jīng)驗(yàn),基于此,隨著LDAP和諸如MS Site
3.Server等的使用,已不必再將所有用戶化過程置入Session變量了,而這個(gè)用戶化是取決于用戶喜好的。
4.你可以在任何想要使用的時(shí)候直接使用session變量,而不必事先聲明它,這種方式接近于在VB中變量的使用。使用完畢后,也不必考慮將其釋放,因?yàn)樗鼘⒆詣?dòng)釋放。
session缺點(diǎn):
1.Session變量和cookies是同一類型的。如果某用戶將瀏覽器設(shè)置為不兼容任何cookie,那么該用戶就無法使用這個(gè)Session變量!
2.當(dāng)一個(gè)用戶訪問某頁面時(shí),每個(gè)Session變量的運(yùn)行環(huán)境便自動(dòng)生成,這些Session變量可在用戶離開該頁面后仍保留20分鐘!(事實(shí)上,這些變量一直可保留至“timeout”?!皌imeout”的時(shí)間長短由Web服務(wù)器管理員設(shè)定。一些站點(diǎn)上的變量僅維持了3分鐘,一些則為10分鐘,還有一些則保留至默認(rèn)值20分鐘。)所以,如果在Session中置入了較大的對(duì)象(如ADO,recordsets,connections, 等等),那就有麻煩了!隨著站點(diǎn)訪問量的增大,服務(wù)器將會(huì)因此而無法正常運(yùn)行!
因?yàn)閯?chuàng)建Session變量有很大的隨意性,可隨時(shí)調(diào)用,不需要開發(fā)者做精確地處理,所以,過度使用session變量將會(huì)導(dǎo)致代碼不可讀而且不好維護(hù)。