`
wsql
  • 浏览: 11770905 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Asp.net Cookies 新手指南

阅读更多

译(Beginner's Guide To ASP.NET Cookies)

原文来自于 http://www.codeproject.com/KB/aspnet/Beginners_Cookies.aspx

Asp.net Cookies 新手指南

目录

•介绍

•什么是Cookies?

•怎样启动Cookies?

•Cookies 的优势

•Cookies 的劣势

•如何建立Cookies?

•怎样从Cookies 中读取数据?

•什么是持久性Cookies 和非持久性Cookies?

•Cookies 存储在本地驱动器的那里?

•怎样在删除未过期的技久性cookies?

•如何控制Cookies的范围?

•Cookie Munging

- 什么是Cookie Munging?

- 我们为什么在Asp.net 中用Cookie Munging?

- Cookie Munging 如何工作?

- 如何实现Cookie Munging?

•在浏览器中怎样配置Cookies?

介绍

首先要感谢阅读我以前所有文档并赞成我的读者。Wow ,我的伟大支持者就来自于你们。再一次感谢Sean Ewingto开始与新手起步web 开发文章中的一个非常奇妙的想法。我以前也为初学者写过一些文章,当我的 View State新手指南显示在主页 “编辑选择”部分时,我真的感深觉很得意。下面是我最近为初者学写的文档。

Exploring Caching in ASP.Net

Beginner’s Guide To View State

Beginner’s Guide To ASP.NET Application Folder

Cookies, Session,And Application 是队列中的对象。现在我们来了解Cookies, 我花了一些时间为这篇文章做准备。你会惊讶的发现介绍部分是我发表文章前的最后一个话题。在写这篇文单写,我看过很多相关文档和书籍,此外还做了一些实践。希望我讲解的够清楚,也希望你们能够喜欢这篇文章并请给我你好的建意。

什么是Cookies?

Cookies 是创于在客户端系统或客户浏览器内存(如果是临时)上的一个小文件。它用于状态管理,在我的文章View State中已有讨论。所以我们可以在客户端系统存储并且在我们需要的时候使用它。有趣的是用户以透边的方式工作。它可以方便的应用于你的web 应用程序。Cookies的信息以纯文本格式存储。如果web应用程序用了cookies,服务器发送cookies将在客户端浏览器存储。浏览器将在下一次页面请求的时候将cookies 返回给服务器。很多通用的例子是用cookies 来存储用户的信息,用户的偏好,密码记忆选项等。就些点,Cookies 有好处也有坏处。但首先来看一看cookied是如何启动的

Cookies是如何启动的?

当客户端请求到达服务器,服务器发送cookies 到客户端。后续的请求可以引用同一个Cooke。举个例子,如codeproject.com 在cookies 中存储session id ,当客户端第一次服务器上点击,服务器生成一个seesion id 并将这样的一个cookies 发送到客户端。

clip_image001

现在同一客户端的所有后续请求都可以可以使用Session ID,如下图

clip_image002

浏览器和web 服务器负责交换cookies 的信息。对于不同的站点,浏览器保证cookies的不同,如果页面需要从cookies 得到信息,当你点击URL,首先找查本地系统的cookies的信息然后再到服务器上查看信息。

Cookies的优势

下面是web 应用cookies的主要优势:

- 使用和实施非常简单。

- 浏览器照顾发送数据。

- 对于多站点cookies,浏览器自动安排它们。

Cookies的劣势

Cookies的主要劣势是:

- Cookies以个简单的文本格式存储。因此它是不够安全。

- Cookies 数据有一个大小限制(4096bytes /4KB)

- Cookies也限制数量,大多数浏览器提拱最大20个的限制。如果有一个新的cookies,将舍弃一个旧的cookies.有些浏览器支持多达300个cookies

- 我们需要配制浏览器。它不能工作在浏览器的高安全配制。【我会详细的讲解这些】

如何创建cookies?

使用cookies 我们需要使用名称空间 system.web

Using System.Web;

现在来看一下代码,我们是怎么创建cookies 并且将它加于web 响应。

//createing a cookies object

HttpCookie _userInfoCookies = new HttpCookies(“UserInfo”);

//Setting values inside it

_userInfoCookies[“UserName”]=”Abfdafa”;

_userInfoCookies[“UserColor”]=”Red”;

//Adding cookies to current web response

Response.Cookies.Add(_userInfoCookies);

已创建一个的cookies一直持续到浏览器关闭。我们可以让这个cookies 持续,如何做到?稍后我会对些进行探讨。

如何从cookies 中读取数据?

现在,是时间从cookies 中获取数据了。在读取cookies之前,首先我们要检测cookies 能否被找到。好的做法是在检查之前读取它,因为浏览器禁用cookies.

//retrieve cookies by cookies name

HttpCookie _userInfoCookies = Request.Cookies[“UserInfo”]

String username;

If (_userInfoCookies !=null)

{

username = _userInfoCookies[“UserName”];

}

什么是持续和非持续性cookies?

Cookies我们可以有两种分类,

- 持续性cookies

- 非持续性cookies

持续性cookies: 这里可以被称为永久性cookies, 它存储在客户端的硬盘上里直到它过期。持续性cookies应该设置五个过期日期。通常它一直停留到用户删除它。持续性cookies通常一用于收集系统用户的辨识信息。在“怎样创建一个持续性cookes“部分我有讨论关于如何创建持续性cookies.

非持续性cookies: 这里被称为临时cookies.如果cookies没有定义过期时间它将存储在浏览器内存中。我们已给也一个非持续性cookies的示例。

因此持续性和非持续性cookies之间没有什么差别。他们之间的差别仅仅是技续性cookies有过期时间的定义,非持续性cookies没有。

如何使cookies持久?

我已经给出了一个非持续性的cookies,对于持续性cookies,我们仅仅只需要添加一个过期时间。在那段代码里我们加入5天的过期时间。检测一下该示例。

//Creting a Cookie Object

HttpCookie _userInfoCookies = new HttpCookie("UserInfo");

//Setting values inside it

_userInfoCookies["UserName"] = "Abhijit";

_userInfoCookies["UserColor"] = "Red";

_userInfoCookies["Expire"] = "5 Days";

//Adding Expire Time of cookies

_userInfoCookies.Expires = DateTime.Now.AddDays(5);

//Adding cookies to current web response

Response.Cookies.Add(_userInfoCookies);

现在,看一下我们感兴趣的事情,cookies存储在硬盘哪里。

Cookies存储在本地硬盘的那里?

从本地硬盘中找出cookies是一件有趣的事。首先,从“文件管理器选项”,选择->显示隐藏的文件和文件夹。

clip_image003

现在查看 文件和设定 并打开当前用甩的cookies 文件夹,看下图.

clip_image005

如何移除未过期的持续性Cookies?

这同样是一个好玩的任务,如果你想移除一些未过期的cookies,你唯一只有至换cookies中以前的过期日期。

HttpCookie _userInfoCookies = new HttpCookie("UserInfo");

//Adding Expire Time of cookies before existing cookies time

_userInfoCookies.Expires = DateTime.Now.AddDays(-1);

//Adding cookies to current web response

Response.Cookies.Add(_userInfoCookies);

如何控制cookies的范围?

我们可用如下的方式控制cookies的范围

- 限制cookies的路径

- 限制cookies的域

什么是Cookies Munging?

Asp.net默认用cookies来存储会话的id, 但是我们已讨论过一些浏览器是不支持cookies,针对于这个问题,asp.net 将使用“Cookies Munging”来管理cookie的会话变量。

虽然这也关系到会话,我将给也一个基本的概述。我将在另一篇session 的文章中详细阐述。

我们为什么要在asp.net中用cookies munging?

这里有在asp.net 中使用cookies munging的一些特殊的原因

- 一些浏览器不支持cookies.

- 大多数时候,用户禁用了浏览器的cookies.

Cookies Munging 是怎样工作的?

当用户请求于服务器务器的一个页面。服务器加密会话ID,并且将它加于页面的每个超连接中。当用点击这些连接,asp.net解密这些会话ID并传递页面用户请求。现在请求页面会收到一些变量会话。如果asp.net发现用户的浏览器不支持cookies,这一切是自动的。

clip_image006

如何实现Cookie Munging?

为些我们要向做成少cookies的会放状态。

clip_image007

第一选项允许所有cookies,最后一个cookies禁止所有cookies,你可以滚动条的时候得到详细的设定。

摘要

这里是一些学习cookies的话题,希望对一些初学者起步有帮助。请给你的反馈意见。

分享到:
评论

相关推荐

    ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典

    ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP...

    asp.net新手到完全入门

    asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net

    asp.net开发新手常见问题集锦

    asp.net开发新手常见问题集锦 入门 编程

    asp.net网络开发指南(源代码)

    1.搭建ASP.NET开发环境 2.C#语言基础 3.ASP.NET的基本对象 4.应用ADO.NET编程 5.进一步使用ADO.NET编程 6.导航与控件 7.用户输入验证 8.网络用户管理系统 9.网络硬盘 10.留言板 11.网络邮件管理系统 12.网站流量统计...

    ASP.NET4权威指南源代码下载

    《ASP.NET 4权威指南》是ASP.NET领域的又一鸿篇巨制,由资深ASP.NET专家亲自执笔,知名微软技术社区和权威技术专家一致鼎力推荐。 它是国内第一本关于ASP.NET 4的著作。从广度上讲,内容系统而全面,全书一共包含4个...

    ASP.NET 完全入门

    ASP.NET技术就是由微软的.NET技术细化而来的,它跟ASP技术有些关系,然而又不是仅仅是一个继承,可以讲,ASP.NET跟ASP想比较的话,已经是变得面目全非了,当然好得至少是一个量级以上。 ASP.NET完全基于模块与组件,...

    《ASP.NET 4 权威指南》pdf版

    《ASP.NET 4 权威指南》是ASP.NET 领域的又一鸿篇巨制,由资深ASP.NET 专家亲自执笔,知名微 软技术社区和权威技术专家一致鼎力推荐。 它是国内第一本关于ASP.NET 4 的著作。从广度上讲,内容系统而全面,全书一共...

    新手学ASP.NET 3.5网络开发 源码

    《新手学ASP.NET 3.5网络开发》是ASP.NET3.5 的技术入门书籍,体系完整,内容充实,以实例贯穿全书,全书包括入门基础、控件开发、数据库和文件操作、网站整体设计及课程实践5篇,全面介绍ASP.NET的开发基础,共23章...

    ASP.NET 2.0开发指南.iso,《ASP.NET 2.0开发指南》随书光盘.msi

    ASP.NET 2.0开发指南.iso 包含《ASP.NET 2.0开发指南》随书光盘.msi

    asp.net的ppt

    asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程...

    asp.net教程 ASP.NET 参考手册

    ASP.NET 参考手册 在 W3School,我们提供完整的 ASP.NET 参考手册,其中包括内建对象和组件,以及它们的属性和方法。 ASP.NET 实例 ASP.NET 实例 一系列的 ASP.NET 实例。 内容目录 ASP.NET 简介 本章解释 ASP.NET...

    ASP.net实战项目

    ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP...

    【全网首发】ASP.NET MVC4开发指南(附带源码)

    全网首发:ASP.NET MVC4 开发指南(附带源码)版本,ASP.NET MVC4 开发指南 PDF + ASP.NET MVC4 开发指南源码,让你学习起来再也不费劲,轻松高效!

    asp.net2.0全程指南

    asp.net2.0全程指南 开发基础 新增功能 进阶应用 实战演练

    Scott Mitchell的ASP.NET2.0数据指南中文版

    Scott Mitchell的ASP.NET2.0数据指南中文版.part1(共两个压缩包) 这本书本是英文版,由博客园上的mvp们一起翻译过来的。这个是整本书的打包,方便查询。 作者简介 Scott Mitchell,著有六本ASP/ASP.NET方面的书...

    asp.net Cookies用法整合

    asp.net Cookie基类 ,关于cookie的创建、修改、删除、调用等

    ASP.NET MVC 5入门指南(中文PDF+源码)

    ASP.NET MVC 5入门指南 (中文PDF+源碼) 1. ASP.NET MVC 5 - 开始MVC 5之旅 2. ASP.NET MVC 5 - 控制器 3. ASP.NET MVC 5 - 视图 4. ASP.NET MVC 5 - 将数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6. ...

    asp.net经典聊天室

    asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典...

    asp.net 网络开发指南源代码

    asp.net 网络开发指南源代码

    asp.net排课系统

    asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统

Global site tag (gtag.js) - Google Analytics