這節(jié)我們講狀態(tài)管理application,和session以及Cookie,
Application利用他建立的變量,將是在系統(tǒng)內(nèi)部任何地方都可以訪問的.通常網(wǎng)站的訪問統(tǒng)計(jì)會(huì)用得比較多.要用他的話,我們得先在系統(tǒng)(不是WIN系統(tǒng)哈)中建立一個(gè)global.asa文件,事實(shí)上Session也是使用的這個(gè)文件.
Application是一個(gè)共享的對(duì)象,當(dāng)程序開始運(yùn)行他就建立了,一直持續(xù)到程序關(guān)閉,他的變量是共享的,所有操作這個(gè)程序的人都可以使用,那么這就有麻煩了,如果兩個(gè)人同時(shí)給了他修改變量的命令,他該聽誰的呢?所以,這里我們就使用了 悲觀的鎖定,每一次變量被操作的時(shí)候,都使用 Lock 來鎖定他,當(dāng)操作完再 解鎖 UnLock .
下面我們利用他建立一個(gè) 訪問統(tǒng)計(jì)
那Session就不同了,這個(gè)是在每個(gè)人進(jìn)到程序的時(shí)候就建立Session對(duì)象,也就是說,Application只有一個(gè),而Session是有多少人用就有多少個(gè),Session是不共享的,當(dāng)這個(gè)人退出程序的時(shí)候該對(duì)象在系統(tǒng)默認(rèn)的20分鐘后被銷毀,當(dāng)然.我們可以認(rèn)為的去改變這個(gè)時(shí)間.如果這個(gè)人在規(guī)定的時(shí)間內(nèi)再訪問程序的話,他直接使用先前建立的那個(gè)Session對(duì)象,可如果特定時(shí)間以后再來,那只好再重新建立.
這里我們得注意下,asp,php等語言中Session是依賴與Cookie的,如果用戶不接受Cookie ,那么Session也不能用,但是.net擯棄了這種做法,我們只需要在web.config文件里面設(shè)置Cookieless屬性為True,他就可以不倚賴誰,自立門戶了.
下面我們說Cookie,他其實(shí)就是在硬盤或者瀏覽器內(nèi)存中建立的一個(gè)對(duì)象,我們說Session對(duì)象是保存在服務(wù)器端的,那么Cookie則是保存在客戶端的,他們都是為了保存客戶的一些信息.Session只能短時(shí)間的保存客戶的狀態(tài),因?yàn)楫吘刮覀兊每紤]服務(wù)器的負(fù)載,而Cookie則可以長時(shí)間的保存,例如我們常??匆姷挠涀∥?或者論壇常常有說保存一天,一月,一年什么的.
我們可以回到上上節(jié)課的例題看一下
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注