今天的內(nèi)容還得接著昨天的文章繼續(xù)講授。上篇文章,我遇到了如何進(jìn)行同名Cookie值的設(shè)置。在上1篇文章中,我設(shè)置的Cookie名字是1定的,寫死了。今天再次運(yùn)行項(xiàng)目時(shí)發(fā)現(xiàn)報(bào)錯(cuò)了,單步運(yùn)行程序發(fā)現(xiàn)Cookie的名字居然變化了,前面的文章是把name寫死了,明顯不行,需要?jiǎng)討B(tài)獲得Cookie的name和value。在開(kāi)始解決問(wèn)題之前,我們還是先簡(jiǎn)單了解1下Cookie的基礎(chǔ)知識(shí)。
Cookie是asp.net 保存會(huì)話數(shù)據(jù)的兩種技術(shù)之1,另外一種技術(shù)是Session,在此暫不講述,以后再補(bǔ)充。Cookie是客戶端技術(shù),服務(wù)器把每一個(gè)用戶的數(shù)據(jù)以cookie的情勢(shì)寫給用戶各自的閱讀器。當(dāng)用戶使用閱讀器再去訪問(wèn)服務(wù)器中的web資源時(shí),就會(huì)帶著各自的數(shù)據(jù)去。這樣,web資源處理的就是用戶各自的數(shù)據(jù)了。
Cookie是1種在客戶端保持HTTP狀態(tài)信息的技術(shù),它好比商場(chǎng)發(fā)放的優(yōu)惠卡。
Cookie是在閱讀器訪問(wèn)WEB服務(wù)器的某個(gè)資源時(shí),由WEB服務(wù)器在HTTP響應(yīng)消息頭中附帶傳送給閱讀器的1片數(shù)據(jù),WEB服務(wù)器傳送給各個(gè)客戶端閱讀器的數(shù)據(jù)是可以各不
相同的。1旦WEB閱讀器保存了某個(gè)Cookie,那末它在以后每次訪問(wèn)該WEB服務(wù)器時(shí),都應(yīng)在HTTP要求頭中將這個(gè)Cookie回傳給WEB服務(wù)器。
WEB服務(wù)器通過(guò)在HTTP響應(yīng)消息中增加Set-Cookie響應(yīng)頭字段將Cookie信息發(fā)送給閱讀器,閱讀器則通過(guò)在HTTP要求消息中增加Cookie要求頭字段將Cookie回傳給WEB服務(wù)器
1個(gè)Cookie只能標(biāo)識(shí)1種信息,它最少含有1個(gè)標(biāo)識(shí)該信息的名稱(NAME)和設(shè)置值(VALUE)。
1個(gè)WEB站點(diǎn)可以給1個(gè)WEB閱讀器發(fā)送多個(gè)Cookie,1個(gè)WEB閱讀器也能夠存儲(chǔ)多個(gè)WEB站點(diǎn)提供的Cookie。
閱讀器1般只允許寄存300個(gè)Cookie,每一個(gè)站點(diǎn)最多寄存20個(gè)Cookie,每一個(gè)Cookie的大小限制為4KB
如果創(chuàng)建了1個(gè)cookie,并將他發(fā)送到閱讀器,默許情況下它是1個(gè)會(huì)話級(jí)別的cookie(即存儲(chǔ)在閱讀器的內(nèi)存中),用戶退出閱讀器以后即被刪除。若希望閱讀器將該cookie存儲(chǔ)在磁盤上,則需要使用maxAge,并給出1個(gè)以秒為單位的時(shí)間。將最大時(shí)效設(shè)為0則是命令閱讀器刪除該cookie。
注意,刪除cookie時(shí),path必須1致,否則不會(huì)刪除
基礎(chǔ)的Cookie 知識(shí)大概就是這樣,如果想了解具體的請(qǐng)參考:http://blog.sina.com.cn/s/blog_68d733750100kxvh.html
下面就接著文章開(kāi)始提出的問(wèn)題接著講授。在這里,我想要獲得到要求頭或響應(yīng)頭的所有Cookie信息,包括它的name和value。我采取了下面的方法。
方法1. GetCookies()
方法2 Context.Cookies
測(cè)試報(bào)錯(cuò):Cookie不存在Name屬性,可Cookie類下明明是有Name屬性的,不知為什么,此方法行不通,暫時(shí)放棄。
方法3.GetResponseHeader()
方法4.ref援用
通過(guò)上面4種方法的介紹,我們也能夠看出,第4種方法最簡(jiǎn)單,如果你對(duì)利用比較了解,相信此種方法也比較好理解。經(jīng)過(guò)連續(xù)幾個(gè)小時(shí)的忙活,終究完成任務(wù)。
上面只是就自己實(shí)際遇到的問(wèn)題進(jìn)行了說(shuō)明,只是對(duì)Cookie的知識(shí)進(jìn)行了簡(jiǎn)單介紹,其中還有Session的和URL和Uri的區(qū)分等知識(shí)沒(méi)有說(shuō)明,下面的文章也會(huì)就前面的幾個(gè)問(wèn)題和大家共同學(xué)習(xí),歡迎指點(diǎn),共同進(jìn)步。