成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何進行C# Cookie編程

開發 后端
Cookie最早出現是在Netscape Navigator .0中,其實就是由Web服務器創建的、將信息存儲在計算機上的文件。本文就介紹了C# Cookie編程的方法。

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

一、本文介紹C# Cookie編程的程序設計和運行的軟件環境

微軟公司視窗000服務器版

.Net FrameWork SDK Beta

C#進行Cookie方面編程是通過ASP.NET面來實現的。

二、C#如何寫入Cookie

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

首先就要創建一個HttpCookie對象,通過這個對象來構造一個Cookie,這個對象的名稱就是以后產生的Cookie名稱。具體如下代碼:

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

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

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

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

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

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

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

.最后調用" Response.Cookies" 對象的" Add()" 方法,加入此對象,這樣就可以產生一個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. //創建一個HttpCookie對象  
  8. HttpCookie cookie = new HttpCookie ( NameField . Text ) ;  
  9. //設定此cookies值  
  10. cookie . Value = ValueField . Text ;  
  11. //設定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創建完畢 < br > < hr > " ) ;  
  21. }  
  22. < /script >  
  23. < html >  
  24. < body >   
  25. < h > 在 C#面中創建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 = "創建Cookie" onclick = "WriteClicked" runat = "server" /> < br >  
  5. < /form >  
  6. < /body >  
  7. < /html > 

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

屬性 描述

Domain 設定/獲得Cookie應屬于的域名。一旦設定了此屬性,則只限定于此域名的Web服務器訪問此Cookie??梢栽O定為"ccw.com.cn"

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

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

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

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

三、C#是如何讀取已產生的Cookie

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

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

下面是顯示已經讀取了的Cookie的數值:

  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 ( "沒有發現指定的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 > 

四、總結

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

【編輯推薦】

  1. 總結C#語言命名規范
  2. C#反射相關知識學習
  3. 大話F#和C#:是否會重蹈C#失敗的覆轍?
  4. 總結和學習C#接口
  5. 學習C#程序有感
責任編輯:book05 來源: hi.baidu
相關推薦

2010-01-20 10:49:29

Visual C++界

2009-08-03 16:37:49

C#異常類

2010-01-27 15:29:45

C++異常處理

2010-01-20 13:29:40

C++環境

2010-03-15 15:45:15

Python編程語言

2010-02-02 13:04:03

C++頭文件

2015-09-16 15:11:58

C#異步編程

2010-01-15 17:31:18

C++Test

2010-01-20 09:32:30

C++類

2009-08-25 16:36:16

C#進行數據庫編程

2010-01-12 09:59:08

Visual C++

2010-03-11 17:24:27

Python編程語言

2010-01-15 19:05:42

學習C++

2014-09-19 10:46:36

LuaCC++

2010-01-19 14:39:22

C++ Builder

2010-02-05 17:16:05

C++構造函數

2010-01-27 10:45:21

C++單例模式

2009-08-24 09:55:26

C#接口轉換

2009-08-24 11:02:52

C#接口映射

2009-08-26 10:34:15

C#類型C#變量
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91欧美精品成人综合在线观看 | 青草福利| 欧美成人精品一区二区男人看 | 久久新| 一区二区三区四区在线 | 成人免费在线网 | 日本不卡一区 | 国产精品亚洲欧美日韩一区在线 | 日韩欧美一区二区三区 | 欧美亚洲另类在线 | 久久久久久国产精品免费免费男同 | 亚洲高清视频在线观看 | 精品久久国产 | 欧美精品综合 | 久久精品成人 | 欧美一区二区三区免费在线观看 | 91精品一区 | 中文字幕国产一区 | 国产一区二区三区视频 | 欧美色专区| 日本小视频网站 | 亚洲色图婷婷 | 日本精品一区二区三区视频 | 国产精品久久久久无码av | 91免费在线 | 欧美成视频 | 久久精品亚洲精品国产欧美 | 中文字幕一区在线 | www天天操 | 青青草久久 | 亚洲精品高清视频在线观看 | 欧美日韩亚洲一区 | 久久激情视频 | 亚洲视频免费在线观看 | 国产精品综合色区在线观看 | 国产精品久久久久久久久久 | 日韩在线观看 | 久久久一| 欧美日韩三级 | 一区二区三区欧美 | 在线中文字幕av |