日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何進(jìn)行C#Cookie編程

Cookie就是所謂的" 小甜餅" ,他最早出現(xiàn)是在Netscape Navigator .0中。Cookie其實就是由Web服務(wù)器創(chuàng)建的、將信息存儲在計算機(jī)上的文件。那么為什么Web服務(wù)器要在客戶機(jī)上面創(chuàng)建如此文件?這是因為當(dāng)客戶機(jī)發(fā)送一個請求到WEB服務(wù)器時(譬如準(zhǔn)備瀏覽面時),無論此客戶機(jī)是否是第一次來訪,服務(wù)器都會把它當(dāng)作第一次來對待,WEB服務(wù)器所做的工作只是簡單的進(jìn)行響應(yīng),然后就關(guān)閉與該用戶的連接。這樣處理過程所帶來的缺點時顯而易見的。自從網(wǎng)景公司開發(fā)出Cookie以后,就可以利用Cookie來保存用戶的識別信息。Cookie的作用可以記錄了您在該站點上曾經(jīng)訪問過的面,由此幫助您下次訪問該站點時自定義查看。Cookies 也可以存儲個人可識別信息。個人可識別信息是可以用來識別或聯(lián)系您的信息,例如姓名、電子郵件地址、家庭或工作地址,或者電話號碼。然而,網(wǎng)站只能訪問您提供的個人可識別信息。例如,除非您提供電子郵件名稱,否則網(wǎng)站將不能確定您的電子郵件名稱。另外,網(wǎng)站不能通過Cookie來訪問計算機(jī)上的其他信息。當(dāng)然除非你提供。那么Cookie到底存放在什么地方?如果機(jī)器的系統(tǒng)是視窗98且安裝在" C" 盤中,那么Cookie存放在" C:\Windows\Cookies" 目錄中;如果機(jī)器系統(tǒng)是視窗000且安裝在" C" 盤中,那么Cookie存放在" C:\Documents and Settings\Administrator\Cookies" 目錄中。了解了Cookie這么多知識,我們還是來了解一下本文的重點-- C#是如何進(jìn)行Cookie方面編程的。主要內(nèi)容有二點:其一是 C#是如何寫入Cookie;其二是 C#是如何訪問自己寫入的Cookie。

南和網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)建站從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

一、本文介紹C# Cookie編程的程序設(shè)計和運行的軟件環(huán)境

微軟公司視窗000服務(wù)器版

.Net FrameWork SDK Beta

C#進(jìn)行Cookie方面編程是通過ASP.NET面來實現(xiàn)的。

二、C#如何寫入Cookie

為了寫入Cookie,他的步驟主要有三步,具體如下:

首先就要創(chuàng)建一個HttpCookie對象,通過這個對象來構(gòu)造一個Cookie,這個對象的名稱就是以后產(chǎn)生的Cookie名稱。具體如下代碼:

 
 
 
  1. HttpCookie cookie = new HttpCookie ( " 用戶定義的Cookie名稱" ) ;

然后對創(chuàng)建的HttpCookie對象的" Value" 屬性分配一個字符串值," Value" 的值就是后來產(chǎn)生的Cookie的值。具體代碼如下:

cookie.Value = "用戶給Cookie賦值" ; 如果你想寫入的Cookie數(shù)值不是一個簡單的字符串,而是一個復(fù)雜的數(shù)據(jù)類型,我們知道這些數(shù)據(jù)類型是不能直接存貯到Cookie中的,因為Cookie中只能存貯字符串。但你可以通過一個變通的方法,就是把這個復(fù)雜的數(shù)據(jù)類型轉(zhuǎn)換成多個字符串,然后把這多個字符串同時賦值給產(chǎn)生的Cookie值,這樣Cookie中的內(nèi)容就豐富了,以后利用Cookie完成的功能也強大了。這時你可能就會明白為什么當(dāng)你瀏覽Web服務(wù)器,Web服務(wù)器會知道你什么時候曾經(jīng)瀏覽過,并且曾經(jīng)待過多長時間等信息了。因為這些信息已經(jīng)存儲到你第一次瀏覽面時,Web服務(wù)器產(chǎn)生的Cookie中去了。下列代碼是把多個字符串存儲到Cookie的例子:

 
 
 
  1. cookie [ " 姓名" ] = " 王天";
  2. cookie [ " 性別" ] = " 男";
  3. cookie [ " 年齡" ] = " 6";

Cookie有臨時的,也有永遠(yuǎn)的。永久 Cookie 以文件形式存儲在計算機(jī)上,關(guān)閉 Internet Explorer 時仍然保留在計算機(jī)上。再次訪問該站點時,創(chuàng)建該 Cookie 的網(wǎng)站可以讀取。在具體的編程時候,是在寫入此Cookie的時候,設(shè)定Cookie的生命周期,具體如下代碼:

 
 
 
  1. DateTime dtNow = DateTime . Now ;
  2. TimeSpan tsMinute = new TimeSpan ( 0 , , 0 , 0 ) ;
  3. cookie . Expires = dtNow + tsMinute ;

以上代碼是設(shè)定產(chǎn)生的Cookie的生命期為" 一個小時" ,你可以通過修改" TimeSpan" 屬性來設(shè)定產(chǎn)生Cookie的具體生命期。

.最后調(diào)用" Response.Cookies" 對象的" Add()" 方法,加入此對象,這樣就可以產(chǎn)生一個Cookie了。具體代碼如下:

 
 
 
  1. Response . Cookies . Add ( cookie ) ;
  2. 下列代碼就是在 C#寫入Cookie的完整代碼(Write.aspx):
  3. < % @ language = "C#" %>
  4. < script runat = "server" >
  5. void WriteClicked ( Object Sender , EventArgs e )
  6. {
  7. //創(chuàng)建一個HttpCookie對象
  8. HttpCookie cookie = new HttpCookie ( NameField . Text ) ;
  9. //設(shè)定此cookies值
  10. cookie . Value = ValueField . Text ;
  11. //設(shè)定cookie的生命周期,在這里定義為一個小時
  12. DateTime dtNow = DateTime . Now ;
  13. TimeSpan tsMinute = new TimeSpan ( 0 , , 0 , 0 ) ;
  14. cookie . Expires = dtNow + tsMinute ;
  15. cookie [ "姓名" ] = "王天" ;
  16. cookie [ "性別" ] = "男" ;
  17. cookie [ "年齡" ] = "6" ;
  18. //加入此cookie
  19. Response . Cookies . Add ( cookie ) ;
  20. Response . Write ( NameField . Text + "Cookie創(chuàng)建完畢 < br > < hr > " ) ;
  21. }
  22. < /script >
  23. < html >
  24. < body > 
  25. < h > 在 C#面中創(chuàng)建cookie < /h >

此cookie的生命周期定義為一個小時

 
 
 
  1. < form runat="server">
  2. Cookie名稱:< asp:textbox id = "NameField" runat = "server" /> < br >
  3. Cookie的值:< asp:textbox id = "ValueField" runat = "server" /> < br >
  4. < asp:button text = "創(chuàng)建Cookie" onclick = "WriteClicked" runat = "server" /> < br >
  5. < /form >
  6. < /body >
  7. < /html >

當(dāng)然上面的代碼產(chǎn)生的Cookie在內(nèi)容上面有點單調(diào)了。其實對于內(nèi)容十分豐富的Cookie來說,他還有許多屬性,充分的利用這些屬性,才可以利用了Cookie的強大功能。下表是Cookie的一些常用的屬性:

屬性 描述

Domain 設(shè)定/獲得Cookie應(yīng)屬于的域名。一旦設(shè)定了此屬性,則只限定于此域名的Web服務(wù)器訪問此Cookie。可以設(shè)定為"ccw.com.cn"

Path 設(shè)定/獲得Cookie應(yīng)屬于的路徑,如果設(shè)定后,則訪問此Cookie的Web面則被限定在此路徑里面。其他路徑的Web面則不能訪問。

Secure 設(shè)定/獲得一個標(biāo)識來表明利用HTTP協(xié)議是否能夠安全的傳輸Cookie到客戶端的瀏覽器。

HasKeys 表明是否此Cookie是否是多個字符串組成的。

在寫入Cookie的時候,最大限度的利用這些屬性,對于最大程度的利用寫入的Cookie是十分重要的。

三、C#是如何讀取已產(chǎn)生的Cookie

讀取指定的Cookie比起寫入Cookie要來的容易的多了,只需要使用" Request.Cookies" 對象就可以完成。下面是讀取指定Cookie名稱的方法:

 
 
 
  1. HttpCookie cookie = Request.Cookies [ " Cookie的名稱" ] ;

下面是顯示已經(jīng)讀取了的Cookie的數(shù)值:

 
 
 
  1. Response.Write (cookie . Value . ToString ( ) ) ; 

掌握了上面的要點,讀取Cookie就顯得非常容易了,下列是讀取Cookie的程序代碼(read.aspx):

 
 
 
  1. < % @ language = "C#" %>
  2. < script runat = "server" >
  3. void ReadClicked ( Object Sender , EventArgs e )
  4. {
  5. //得到用戶輸入的cookie名稱
  6. String strCookieName = NameField . Text ;
  7. //獲得cookie
  8. HttpCookie cookie = Request.Cookies [ strCookieName ] ;
  9. //確定是否存在用戶輸入的cookie
  10. if ( null == cookie ) {
  11. Response.Write ( "沒有發(fā)現(xiàn)指定的cookie < br > < hr > " ) ;
  12. }
  13. else {
  14. //找到指定的cookie,顯示cookie的值
  15. String strCookieValue = cookie . Value . ToString ( ) ;
  16. Response.Write ( strCookieName + " cookie 的值為: < b > " 
  17. + strCookieValue + " < /b > < br > < hr > " ) ;
  18. }
  19. }
  20. < /script >
  21. < html >
  22. < body >
  23. 在 C#面中讀取指定Cookie值< br >
  24. < form runat = "server" >
  25. 請輸入要讀取的Cookie名稱:< asp:textbox id = "NameField" runat = "server" />
  26. < asp:button text = "讀取cookie" onclick = "ReadClicked" runat = "server" />
  27. < /form >
  28. < /body >
  29. < /html >

四、總結(jié)

至此我們已經(jīng)介紹了用C# Cookie編程的大部分內(nèi)容。其實Cookie在互聯(lián)網(wǎng)上有著比較大的作用。譬如它可讓W(xué)EB站點跟蹤特定訪問者的訪問次數(shù)、最后訪問時間和訪問者進(jìn)入站點的路徑等;還可告訴在線廣告商廣告被點擊的次數(shù),從而可以更精確的投放廣告;它可讓用戶在不鍵入密碼和用戶名的情況下進(jìn)入曾經(jīng)瀏覽過的一些站點;最為重要的是它可幫助站點統(tǒng)計用戶資料以實現(xiàn)個性化服務(wù)等等。掌握了C# Cookie編程,就可以在程序中充分利用Cookie來實現(xiàn)上面的這些功能了。不信你試一試。


當(dāng)前名稱:如何進(jìn)行C#Cookie編程
網(wǎng)頁路徑:http://www.dlmjj.cn/article/cocosog.html