在程序中使用Cookie集合(定义/新建/删除)及案例讲解

在程序开发中,使用Cookie时,很少使用如http://jb51.net/article/33590.htm的写法。习惯写成Cookie集合,什么叫做Cookie集合,即是说一个Cookie,它拥有多个值。下面一系列演示,是怎样创建Cookie集合与使用。


代码如下:

InsusBiz
using System;
using System.Web;
/// <summary>
/// Summary description for InsusBiz
/// </summary>
public class InsusBiz
{
private static HttpResponse Response
{
get
{
return HttpContext.Current.Response;
}
}
private static HttpRequest Request
{
get
{
return HttpContext.Current.Request;
}
}
//定义一个Cookie集合
private static HttpCookie InsusCookie
{
get
{
return Request.Cookies["InsusCookie"] as HttpCookie;
}
set
{
if (Request.Cookies["InsusCookie"] != null)
{
Request.Cookies.Remove("InsusCookie");
}
Response.Cookies.Add(value);
}
}
//New Cookie集合
private static HttpCookie NewInsusCookie
{
get
{
HttpCookie httpCookie = new HttpCookie("InsusCookie");
return httpCookie;
}
}
//Remove Cookie集合
public static void RemoveInsusCookie()
{
if (InsusCookie == null)
Response.Cookies.Remove("InsusCookie");
else
Response.Cookies["InsusCookie"].Expires = DateTime.Now.AddDays(-1);
}
//创建一个Cookie,判断用户登录状态
public static bool LoginOk
{
get
{
return InsusCookie == null ? false : bool.Parse(InsusCookie.Values["LoginOk"]);
}
set
{
HttpCookie httpCookie = InsusCookie == null ? NewInsusCookie : InsusCookie;
httpCookie.Values["LoginOk"] = value.ToString();
InsusCookie = httpCookie;
}
}
//创建登录用户的帐号,整站使用
public static string MemberId
{
get
{
return InsusCookie == null ? string.Empty : InsusCookie.Values["MemberId"];
}
set
{
HttpCookie httpCookie = InsusCookie == null ? NewInsusCookie : InsusCookie;
httpCookie.Values["MemberId"] = value;
InsusCookie = httpCookie;
}
}
//如果还有整站使用的Cookie可以写在此,可以参考LoginOK或MemberId的写法。
}

在应用时,你会看到InsusBiz类别下有LoginOk,MemberId和RemoveInsusCookie等属性:
 
在程序中怎样使用这些cookie呢?如在登录验证成功之后,你需要把登录状态与登录的ID写入Cookie中
InsusBiz.LoginOk = true;
InsusBiz.MemberId = xxx;
在判断用户是否登录时,可以这个去判断:


代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!InsusBiz.LoginOk)
{
//你没有登录
}
}

如果想在任何位置,想取出登录ID:


代码如下:

string memberId = InsusBiz.MemberId;

最后想说的,你想移除Cooke,就可以使用InsusBiz.RemoveInsusCookie就可以了,因为它会把Cookie的过期时间变更为过去。这个通常应用在用户Sign out的事件上。

(0)

相关推荐

  • Asp.net cookie的处理流程深入分析

    一说到Cookie我想大家都应该知道它是一个保存在客户端,当浏览器请求一个url时,浏览器会携带相关的Cookie达到服务器端,所以服务器是可以操作Cookie的,在Response时,会把Cookie信息输出到客服端.下面我们来看一个demo吧,代码如下: 第一次请求结果如下: 第二次请求结果如下: 到这里我们可以看到第二次请求传入的Cookie正好是第一次请求返回的Cookie信息,这里的cookie信息的维护主要是我们客户端的浏览器,但是在Asp.net程序开发时,Cookie往往是在服务

  • asp.net中的cookie使用介绍

    一.cookie导读,理解什么是cookie 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2.当你浏览某网站时,由web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id.浏览过的网页或者停留的时间等网站想要你保存的信息.当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的cookie发送到服务器去,服务器通过读取cookie,得知你的相关信息,就可以做出相应的动作.比如,显示欢迎

  • 在Asp.net网页上写读Cookie的两种不同语法介绍

    在做asp.net开发时,为了存储一些信息,我们常常是Session与Cookie同时使用.Session资料在我们上会找到很多相关的,而Cookie相关的资料相对很少,所以想补充一下.下面是写Cookie的语法: 复制代码 代码如下: Response.Cookies["曲奇名称"].Value = "我们"; 读Cookie的语法: 复制代码 代码如下: if (Request.Cookies["曲奇名称"] != null) { strin

  • asp.net页面状态管理cookie和服务器状态管理Session

    Cookie:是存储在客户端文件系统的文本文件中或客户端浏览器对话的客户端浏览器对话的内存中的少量的数据.当我们在访问一个网站网页,当用户请求该网页时,应用程序会首先检查用户在此前是否已经登录过,我们可以通过读取Cookie获取用户信息来判断是否让它继续访问 记录Cookie信息 创建一个名称是user的Cookie对象:HttpCookie cookie=new HttpCookie("user"); 给Cookie赋值,只能使用字符串赋值:cookie.Value="ch

  • asp.net(C#)跨域及跨域写Cookie问题

    解决方法是: 复制代码 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader("P3P", "CP=CAO PSA OUR"); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域访问,需要使用jsonp,为配合其工作需要添加下面两句,生成jsonp返回 context.Response.ContentType = "text/p

  • ASP.NET获取不到JS设置cookies的解决方法

    在js方法中添加"path= 过期时间"就可以解决这个问题. 例如://写cookies 复制代码 代码如下: function setCookie(name,value) { document.cookie = name "=" escape (value) ";path=/"; //设置的cookie关闭浏览即失效 } 加多了一个path=/,就行了.就这么简单. 这里设置了Cookie的Path属性,必须在客户端和服务器端同时设置 Path

  • 在程序中使用Cookie集合(定义/新建/删除)及案例讲解

    在程序开发中,使用Cookie时,很少使用如http://jb51.net/article/33590.htm的写法.习惯写成Cookie集合,什么叫做Cookie集合,即是说一个Cookie,它拥有多个值.下面一系列演示,是怎样创建Cookie集合与使用. 复制代码 代码如下: InsusBiz using System; using System.Web; /// <summary> /// Summary description for InsusBiz /// </summary

  • 详解在Python程序中使用Cookie的教程

    大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个

  • 微信小程序中做用户登录与登录态维护的实现详解

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户登录,标识用户和获取用户信息,以用户为核心提供服务,是大部分小程序都会做的事情.我们今天就来了解下在小程序中,如何做用户登录,以及如何去维护这个登录后的会话(Session)状态.下面来看看详细的介绍: 在微信小程序中,我们大致会涉及到以下三类登录方式: 自有的账号注册和登

  • Java中的Map集合简单汇总解析

    Map接口简介 Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射.从Map集合中访问元素时,只要指定了Key,就能找到对应的Value, Map中的键必须是唯一的,不能重复,如果存储了相同的键,后存储的值会覆盖原有的值,简而言之就是键相同,值覆盖. Map常用方法 put(K key, V value) 添加数据,如果先前包含该键的映射,则替换旧值 get(Object key) 返回指定键所映射的值 Set<Map.Ent

  • c#在程序中定义和使用自定义事件方法总结

    C#在程序中定义和使用自定义事件可以分为以下几个步骤: 步骤1:在类中定义事件 using System; public class TestClass { //.... public event EventHandler TestEvent } 步骤2:定义事件参数 注意:事件参数类TestEventArgs继承自System.EventArgs using System; public class TestEventArgs : EventArgs { public TestEventArg

  • 详解在ASP.NET Core 中使用Cookie中间件

    在 http:// ASP.NET Core 中使用Cookie中间件 ASP.NET Core 提供了Cookie中间件来序列化用户主题到一个加密的Cookie中并且在后来的请求中校验这个Cookie,再现用户并且分配到HttpContext对象的User属性中.如果你想提供自己的登录方式和用户数据你可以使用Cookie中间件来实现独立的功能. 添加和配置 第一步是增加Cookie中间件到你的应用中.首先使用nuget增加Microsoft.AspNetCore.Authentication.

  • 浅析C++中结构体的定义、初始化和引用

    定义:结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构. 声明一个结构体类型的形式是: 复制代码 代码如下: struct Student{      //声明一个结构体类型Student  int num;         //声明一个整形变量num  char name[20];   //声明一个字符型数组name  char sex;        //声明一个字符型变量sex  int age;         //声明一个整形变量age  float

  • ASP.NET程序中常用代码汇总

    1. 打开新的窗口并传送参数: //传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</script>") //接收参数: string a = Request.QueryString("id"); string b = Request.QueryS

  • 如何在MVC应用程序中使用Jquery

    前言:转眼间,已经是11月中旬了,也从今天开始我要继续在研究ASP.NET MVC的细节用法,所以将这些读书笔记和个人心得写成博客,让大家也能学习到东西,我阅读的书籍是:ASP.NET MVC高级编程,下面我就说说MVC中如何使用JavaScript和Jquery.还有我们现在经常使用的Ajax. 1.Ajax初步介绍 (1) 现在我们创建的Web应用程序几乎都要用到Ajax技术,从技术上面讲,Ajax代表异步JavaScript和XML(Asynchronous JavaScript and

  • 详解Python中的Cookie模块使用

    最近在用GAE开发自己的博客程序.虽然GAE的API没有显式的提供操作Cookie的方法,但他现有的架构,使我们有足够的自由来操作Cookie. Cookie 模块,顾名思义,就是用来操作Cookie的模块.Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保持会话时用到的信息 切片. Http协议本身是无状态的,也就是说,同一个客户端发送的两次请求,对于Web服务器来说,没有直接的关系.既然这样,有人会问,既然Http是无状态 的, 为什么有些网页,只有输入了用户名与

随机推荐