• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • C#中的cookie编程

      Cookie就是所谓的" 小甜饼" ,他最早出现是在Netscape Navigator 2.0中。Cookie着实就是由Web效能器竖立的、将信息存储在算计机上的文件。那么为何Web效能器要在客户机上面竖立如此文件?这是因为当客户机发送一个请求到WEB效能器时(好比准备浏览页面时),岂论此客户机是否是是是第一次来访,效能器都会把它算作第一次来对待,WEB效能器所做的事项只是质朴的举办响应,然后就关闭与该用户的连接。这样措置责罚历程所带来的缺点时显而易见的。自从网景公司开发出Cookie以后,就能够也许也许运用Cookie来生计用户的识别信息。Cookie的作用能够也许也许记录了您在该站点上曾访问过的页面,由此赞助您下次访问该站点时自定义审查。Cookies 也能够也许也许存储小我可识别信息。小我可识别信息是能够也许也许用来识别或联系您的信息,歧姓名、电子邮件所在、家庭或事项所在,也许电话号码。然则,网站只能访问您供给的小我可识别信息。歧,除非您供给电子邮件称呼,否则网站将不克不及一定您的电子邮件称呼。其他,网站不克不及经过历程Cookie来访问算计机上的其他信息。当然除非你供给。那么Cookie终究存放在甚么地方?如果机器的系统是视窗98且安装在" C" 盘中,那么Cookie存放在" C:\Windows\Cookies" 目录中;如果机器系统是视窗2000且安装在" C" 盘中,那么Cookie存放在" C:\Documents and Settings\Administrator\Cookies" 目录中。了解了Cookie这么多学问,我们还是来了解一下本文的重点-- C#是如何举办Cookie方面编程的。重要内容有二点:其一是 C#是如何写入Cookie;其二是 C#是如何访问自身写入的Cookie。

      一、本文引见的递次想象和运转的软件状况:

      微软公司视窗2000效能器版

      .Net FrameWork SDK Beta 2

      C#举办Cookie方面编程是经过历程ASP.NET页面来完成的。

      二、C#如何写入Cookie:

      为了写入Cookie,他的步骤重要有三步,细致以下:

      首先就要竖立一个HttpCookie对象,经过历程这个对象来构造一个Cookie,这个对象的称呼就是以后发作生机的Cookie称呼。细致以下代码:

      HttpCookie cookie = new HttpCookie ( " 用户定义的Cookie称呼" ) ;

      然后对竖立的HttpCookie对象的" Value" 属性分配一个字符串值," Value" 的值就是厥后发作生机的Cookie的值。细致代码以下:

      cookie.Value = "用户给Cookie赋值" ; 如果你想写入的Cookie数值不是一个质朴的字符串,而是一个复杂的数据类型,我们知道这些数据类型是不克不及直接存贮到Cookie中的,因为Cookie中只能存贮字符串。但你能够也许也许经过历程一个变通的方法,就是把这个复杂的数据类型转换成多个字符串,然后把这多个字符串同时赋值给发作生机的Cookie值,这样Cookie中的内容就雄厚了,

      VB6.0中的几个新增数据库器械
      用VB创建FTP组件(get),Visual Basic构建线程安全的Singleton,如何实现VB与EXCEL的无缝连接,vb中利用xmlhttp来下载远程文件,vb中使用正则表达式,ASP.NET中Cookie编程的基础知识,MASM-打字练习程序,用VB制作注册软件的方法,VB程序中数据库的图片处理的解决方法,用VB编写键盘拦截程序,用VB实现客户——服务器(TCP/IP)编程实例,利用Visual Basic 实现无线通讯,VB 中资源文件的多种使用技巧,VB中资源文件的具体使用方法,vb接收GPS数据源码全,VB6中使用Winsock穿越各种代理的实现(TCP协议),VB实现文字“闪入”显示的特殊效果,VB对注册表操作程序开机时运行,VB将OCX植入执行文件内,利用VB函数Dir()实现递归搜索目录
      Visual Basic

      为VC++运用递次对话框增添透明位图
      VC++中运用/GS开关预防缓冲区溢出,VC完成系统热键激活配景效力递次,用Visual C++干干净净地祛除历程,用Visual C++想象屏幕抓图递次,在VC中为运用递次增添图形超链接服从,详解Visual C++ 2005中的突破性改变,用VC++制作播放AVI视频流的动画按钮,在递次的状况栏中完成进度条,运用Visual C++想象自身的资源浏览器,VC++动态链接库编程之DLL木马,VC++编程完成对火焰的计算机动态仿真,VC中运用多线程技术完成线程之间的通信,运用OpenGL完成三维绘图,基于Visual C++的Winsock API钻研,基于Visual C++6.0的DLL编程完成,Visual C++ MFC 中常常运用宏的寄义,在MFC下如何定义全局变量和全局函数,运用MFC在运用递次中嵌入MS Word,VC++中历程与多历程管理的方法,Visual C++6.0 API函数支配妙技集
      Visual C++

      以后运用Cookie完成的遵守也强大了。这时刻你能够也许也许就会邃晓为何当你浏览Web效能器,Web效能器会知道你甚么时刻曾浏览过,并且曾待过多长时刻等信息了。因为这些信息已存储到你第一次浏览页面时,Web效能器发作生机的Cookie中去了。以下代码是把多个字符串存储到Cookie的例子:

      cookie [ " 姓名" ] = " 王天";

      cookie [ " 性别" ] = " 男";

      cookie [ " 年龄" ] = " 26";

      Cookie有临时的,也有永久的。永久 Cookie 以文件形势存储在算计机上,关闭 Internet Explorer 时依旧保留在算计机上。再次访问该站点时,竖立该 Cookie 的网站能够也许也许读取。在细致的编程时刻,是在写入此Cookie的时刻,设定Cookie的生命周期,细致以下代码:

      DateTime dtNow = DateTime . Now ;

      TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;

      cookie . Expires = dtNow + tsMinute ;

      以上代码是设定发作生机的Cookie的生命期为" 一个小时" ,你能够也许也许经过历程修改" TimeSpan" 属性来设定发作生机Cookie的细致生命期。

      .最后调用" Response.Cookies" 对象的" Add()" 方法,加入此对象,这样就能够也许也许发作生机一个Cookie了。细致代码以下:

      Response . Cookies . Add ( cookie ) ;

      以下代码就是在 C#写入Cookie的完整代码(Write.aspx):

      <% @ language = "C#" %>

      <script runat = "server" >

      void WriteClicked ( Object Sender , EventArgs e )

      {

      //竖立一个HttpCookie对象

      HttpCookie cookie = new HttpCookie ( NameField . Text ) ;

      //设定此cookies值

      cookie . Value = ValueField . Text ;

      //设定cookie的生命周期,在这里定义为一个小时

      DateTime dtNow = DateTime . Now ;

      TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;

      cookie . Expires = dtNow + tsMinute ;

      cookie [ "姓名" ] = "王天" ;

      cookie [ "性别" ] = "男" ;

      cookie [ "年龄" ] = "26" ;

      //加入此cookie

      Response . Cookies . Add ( cookie ) ;

      Response . Write ( NameField . Text + "Cookie竖立终了 <br > <hr > " ) ;

      }

      </script >

      <html >

      <body >

      <h3 > 在 C#页面中竖立cookie </h3 >

      此cookie的生命周期定义为一个小时

      <form runat="server">

      Cookie称呼:<asp:textbox id = "NameField" runat = "server" /> <br >

      Cookie的值:<asp:textbox id = "ValueField" runat = "server" /> <br >

      <asp:button text = "竖立Cookie" onclick = "WriteClicked" runat = "server" /> <br >

      </form >

      </body >

      </html >

      下图是上面代码运转后的界面:

      图01:C#写入Cookie的递次运转界面

      当然上面的代码发作生机的Cookie在内容上面有点单调了。着实关于内容非常雄厚的Cookie来说,他尚有许多属性,足够的运用这些属性,才能够也许也许运用了Cookie的强大遵守。下表是Cookie的一些常常运用的属性:

      属性 描写

      Domain 设定/取得Cookie应属于的域名。一旦设定了此属性,则只限定于此域名的Web效能器访问此Cookie。能够也许也许设定为"ccw.com.cn"

      Path 设定/取得Cookie应属于的门路,如果设定后,则访问此Cookie的Web页面则被限定在此门路内中。其他门路的Web页面则不克不及访问。

      Secure 设定/取得一个标识来注解运用HTTP协议是否是是能够也许也许平稳的传输Cookie到客户端的浏览器。

      HasKeys 注解是否是是此Cookie是否是是是多个字符串组成的。

      在写入Cookie的时刻,最大限定的运用这些属性,关于最大程度的运用写入的Cookie是非常重要的。

      三、C#是如何读取已发作生机的Cookie:

      读取指定的Cookie比起写入Cookie要来的随意马虎的多了,只需要运用" Request.Cookies" 对象就能够也许也许完成。下面是读取指定Cookie称呼的方法:

      HttpCookie cookie = Request.Cookies [ " Cookie的称呼" ] ;

      下面是展现已读取了的Cookie的数值:

      Response.Write (cookie . Value . ToString ( ) ) ; 掌握了上面的要点,读取Cookie就显得非常随意马虎了,以下是读取Cookie的递次代码(read.aspx): <% @ language = "C#" %>

      <script runat = "server" >

      void ReadClicked ( Object Sender , EventArgs e )

      {

      //取得用户输入的cookie称呼

      String strCookieName = NameField . Text ;

      //取得cookie

      HttpCookie cookie = Request.Cookies [ strCookieName ] ;

      //一定是否是是存在用户输入的cookie

      if ( null == cookie ) {

      Response.Write ( "没有发现指定的cookie <br > <hr > " ) ;

      }

      else {

      //找到指定的cookie,展现cookie的值

      String strCookieValue = cookie . Value . ToString ( ) ;

      Response.Write ( strCookieName + " cookie 的值为: <b > "

      + strCookieValue + " </b > <br > <hr > " ) ;

      }

      }

      </script >

      <html >

      <body >

      在 C#页面中读取指定Cookie值<br >

      <form runat = "server" >

      请输入要读取的Cookie称呼:<asp:textbox id = "NameField" runat = "server" />

      <asp:button text = "读取cookie" onclick = "ReadClicked" runat = "server" />

      </form >

      </body >

      </html >

      下图是上面代码运转后的界面:

      图02:读取指定Cookie的值的递次运转界面

      四、总结:

      至此我们已引见了用 C#举办Cookie编程的大部分内容。着实Cookie在互联网上有着比较大的作用。好比它能够也许让WEB站点跟踪特定访问者的访问次数、最后访问时刻和访问者进入站点的门路等;还可照应在线告白商告白被点击的次数,从而能够也许也许更正确的投放告白;它能够也许让用户在不键入密码和用户名的状况下进入曾浏览过的一些站点;最为重要的是它可赞助站点统计用户资料以完成个性化效能等等。掌握了 C#的Cookie编程,就能够也许也许在递次中足够运用Cookie来完成上面的这些遵守了。不信你试一试。

      VB6.0中的几个新增数据库器械
      用VB竖立FTP组件(get),Visual Basic构建线程安然的Singleton,如何完成VB与EXCEL的无缝连接,vb中运用xmlhttp来下载远程文件,vb中运用正则表达式,ASP.NET中Cookie编程的基础知识,MASM-打字练习递次,用VB制作注册软件的方法,VB递次中数据库的图片措置责罚的处理方法,用VB编写键盘阻止递次,用VB完成客户——效力器(TCP/IP)编程实例,运用Visual Basic 完成无线通信,VB 中资源文件的多种运用妙技,VB中资源文件的细致运用方法,vb吸取GPS数据源码全,VB6中运用Winsock穿越各种代理的完成(TCP协议),VB完成文字“闪入”展现的特殊效果,VB对注册表支配递次开机时运转,VB将OCX植入执行文件内,运用VB函数Dir()完成递归搜索目录
      Visual Basic

      VB6.0中的几个新增数据库器械
      用VB创建FTP组件(get),Visual Basic构建线程安全的Singleton,如何实现VB与EXCEL的无缝连接,vb中利用xmlhttp来下载远程文件,vb中使用正则表达式,ASP.NET中Cookie编程的基础知识,MASM-打字练习程序,用VB制作注册软件的方法,VB程序中数据库的图片处理的解决方法,用VB编写键盘拦截程序,用VB实现客户——服务器(TCP/IP)编程实例,利用Visual Basic 实现无线通讯,VB 中资源文件的多种使用技巧,VB中资源文件的具体使用方法,vb接收GPS数据源码全,VB6中使用Winsock穿越各种代理的实现(TCP协议),VB实现文字“闪入”显示的特殊效果,VB对注册表操作程序开机时运行,VB将OCX植入执行文件内,利用VB函数Dir()实现递归搜索目录
      Visual Basic

    • 0
    • 0
    • 0
    • 109
    • 单栏布局 侧栏位置: