知识大全 C#.NET程序之中的cookie编程技巧

Posted

篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#.NET程序之中的cookie编程技巧相关的知识,希望对你有一定的参考价值。

C#.NET程序之中的cookie编程技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  作为一个程序员 cookie编程最必须要掌握的知识点 本文章讲一下cookie编程要注意的一些问题及应用技巧 Cookie其实就是由Web服务器创建的 将信息存储在计算机上的文件 那么为什么Web服务器要在客户机上面创建如此文件?这是因为当客户机发送一个请求到WEB服务器时(譬如准备浏览页面时) 无论此客户机是否是第一次来访 服务器都会把它当作第一次来对待 WEB服务器所做的工作只是简单的进行响应 然后就关闭与该用户的连接 这样处理过程所带来的缺点时显而易见的 自从网景公司开发出Cookie以后 就可以利用Cookie来保存用户的识别信息 Cookie的作用可以记录了您在该站点上曾经访问过的页面 由此帮助您下次访问该站点时自定义查看 Cookies 也可以存储个人可识别信息 个人可识别信息是可以用来识别或联系您的信息 例如姓名 电子邮件地址 家庭或工作地址 或者电话号码 然而 网站只能访问您提供的个人可识别信息 例如 除非您提供电子邮件名称 否则网站将不能确定您的电子邮件名称 另外 网站不能通过Cookie来访问计算机上的其他信息 当然除非你提供 那么Cookie到底存放在什么地方?如果机器的系统是视窗 且安装在 C 盘中 那么Cookie存放在 C:\\Windows\\Cookies 目录中 如果机器系统是视窗 且安装在 C 盘中 那么Cookie存放在 C:\\Documents and Settings\\Administrator\\Cookies 目录中 了解了Cookie这么多知识 我们还是来了解一下本文的重点 C#是如何进行Cookie方面编程的 主要内容有二点 其一是 C#是如何写入Cookie 其二是 C#是如何访问自己写入的Cookie

  一 本文介绍的程序设计和运行的软件环境

  微软公司视窗 服务器版

   Net FrameWork SDK Beta

  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中的内容就丰富了 以后利用Cookie完成的功能也强大了 这时你可能就会明白为什么当你浏览Web服务器 Web服务器会知道你什么时候曾经浏览过 并且曾经待过多长时间等信息了 因为这些信息已经存储到你第一次浏览页面时 Web服务器产生的Cookie中去了 下列代码是把多个字符串存储到Cookie的例子

  cookie [ 姓名 ] = 王天 ;

  cookie [ 性别 ] = 男 ;

  cookie [ 年龄 ] = ;

  Cookie有临时的 也有永远的 永久 Cookie 以文件形式存储在计算机上 关闭 Internet Explorer 时仍然保留在计算机上 再次访问该站点时 创建该 Cookie 的网站可以读取 在具体的编程时候 是在写入此Cookie的时候 设定Cookie的生命周期 具体如下代码

  DateTime dtNow = DateTime Now ;

  TimeSpan tsMinute = new TimeSpan ( ) ;

  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 ( ) ;

  cookie Expires = dtNow + tsMinute ;

  cookie [ 姓名 ] = 王天 ;

  cookie [ 性别 ] = 男 ;

  cookie [ 年龄 ] = ;

  //加入此cookie

  Response Cookies Add ( cookie ) ;

  Response Write ( NameField Text + Cookie创建完毕 <br > <hr > ) ;

  

  </script >

  < >

  <body >

  <h > 在 C#页面中创建cookie </h >

  此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 >

  </ >

  当然上面的代码产生的Cookie在内容上面有点单调了 其实对于内容十分丰富的Cookie来说 他还有许多属性 充分的利用这些属性 才可以利用了Cookie的强大功能 下表是Cookie的一些常用的属性

  属性 描述

  Domain 设定/获得Cookie应属于的域名 一旦设定了此属性 则只限定于此域名的Web服务器访问此Cookie 可以设定为

  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 strCookieva lue = cookie Value ToString ( ) ;

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

  + strCookieva lue + </b > <br > <hr > ) ;

  

  

  </script >

  < >

  <body >

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

  <form runat = server >

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

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

  </form >

  </body >

  </ >

cha138/Article/program/net/201311/13913

相关参考

知识大全 ASP.NET中Cookie编程的基础知识

ASP.NET中Cookie编程的基础知识  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一简介

知识大全 c#.net在WEB页中设置COOKIES

c#.net在WEB页中设置COOKIES  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在WE

知识大全 .NET下的多线程编程应用程序域

.NET下的多线程编程应用程序域  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一应用程序域&n

知识大全 asp.net编程程序优化要注意的问题

  一SqlDataRead和Dataset的选择  Sqldataread优点读取数据非常快如果对返回的数据不需做大量处理的情况下建议使用SqlDataReader其性能要比datset好很多缺点直

知识大全 asp.net cookies用法

   cookies用法      比如建立一个名为aspcn值为灌水小鱼的cookie  

知识大全 自学.NET之路-C#编程之基础总结

自学.NET之路-C#编程之基础总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!NetFrame

知识大全 用ASP.NET加密Cookie数据

用ASP.NET加密Cookie数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Cookie

知识大全 在VB.NET编程中使用数组

在VB.NET编程中使用数组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数组是程序中经常要使

知识大全 使用ASP.Net加密Cookie[2]

使用ASP.Net加密Cookie[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用ASP.Net加密Cookie[1]

使用ASP.Net加密Cookie[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!