热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

c#和net存取cookies操作示例

这篇文章主要介绍了c#和net存取cookies操作示例,需要的朋友可以参考下

COOKIEs的创建:

在客户端创建一个username的COOKIEs,其值为oneday,有效期为1天.

方法1:

代码如下:

Response.COOKIEs["username"].Value="admin";
Response.COOKIEs["username"].Expires=DateTime.Now.AddDays(1);

方法2:

代码如下:

System.Web.HttpCOOKIE newCOOKIE=new HttpCOOKIE("username");
newCOOKIE.Value="oneday";
newCOOKIE.Expires=DateTime.Now.AddDays(1);
Response.AppendCOOKIE(newCOOKIE);


创建带有子键的COOKIEs:

代码如下:

System.Web.HttpCOOKIE newCOOKIE=new HttpCOOKIE("user");
newCOOKIE.Values["username"]="admin";
newCOOKIE.Values["password"]="admin";
newCOOKIE.Expires=DateTime.Now.AddDays(1);
Response.AppendCOOKIE(newCOOKIE);

COOKIEs的读取:

无子键读取:

代码如下:

if(Request.COOKIEs["username"]!=null)
{
Response.Write(Server.HtmlEncode(Request.COOKIEs["username"].Value));
}

有子键读取:

代码如下:

if(Request.COOKIEs["user"]!=null)
{
Response.Write(Server.HtmlEncode(Request.COOKIEs["user"]["username"].Value));
Response.Write(Server.HtmlEncode(Request.COOKIEs["user"]["password"].Value));

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public class COOKIE
{
    ///


    /// COOKIEs赋值
    ///

    /// 主键
    /// 键值
    /// 有效天数
    ///
    public bool setCOOKIE(string strName, string strValue, int strDay)
    {
        try
        {
            HttpCOOKIE COOKIE = new HttpCOOKIE(strName);
            //COOKIE.Domain = ".xxx.com";//当要跨域名访问的时候,给COOKIE指定域名即可,格式为.xxx.com
            COOKIE.Expires = DateTime.Now.AddDays(strDay);
            COOKIE.Value = strValue;
            System.Web.HttpContext.Current.Response.COOKIEs.Add(COOKIE);
            return true;
        }
        catch
        {
            return false;
        }
    }

    ///


    /// 读取COOKIEs
    ///

    /// 主键
    ///
    public string getCOOKIE(string strName)
    {
        HttpCOOKIE COOKIE = System.Web.HttpContext.Current.Request.COOKIEs[strName];
        if (COOKIE != null)
        {
            return COOKIE.Value.ToString();
        }
        else
        {
            return null;
        }
    }

    ///


    /// 删除COOKIEs
    ///

    /// 主键
    ///
    public bool delCOOKIE(string strName)
    {
        try
        {
            HttpCOOKIE COOKIE = new HttpCOOKIE(strName);
            //COOKIE.Domain = ".xxx.com";//当要跨域名访问的时候,给COOKIE指定域名即可,格式为.xxx.com
            COOKIE.Expires = DateTime.Now.AddDays(-1);
            System.Web.HttpContext.Current.Response.COOKIEs.Add(COOKIE);
            return true;
        }
        catch
        {
            return false;
        }
    }
}


示例:
代码如下:

COOKIE COOKIE = new COOKIE();
COOKIE.setCOOKIE("name", "aaa",1);//赋值
COOKIE.getCOOKIE("name");//取值
COOKIE.delCOOKIE("name");//删除

注意:当COOKIE存中文出现乱码,则在存放时给中文编码,如COOKIE.setCOOKIE("name", Server.UrlEncode("aaa"),1),读取时解码即可

另外:只要不给COOKIE设置过期时间,COOKIE在浏览器关闭的时候自动失效

代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public class COOKIE
{
    ///


    /// COOKIEs赋值
    ///

    /// 主键
    /// 键值
    /// 有效天数
    ///
    public bool setCOOKIE(string strName, string strValue, int strDay)
    {
        try
        {
            HttpCOOKIE COOKIE = new HttpCOOKIE(strName);
            //COOKIE.Domain = ".xxx.com";//当要跨域名访问的时候,给COOKIE指定域名即可,格式为.xxx.com
            COOKIE.Expires = DateTime.Now.AddDays(strDay);
            COOKIE.Value = strValue;
            System.Web.HttpContext.Current.Response.COOKIEs.Add(COOKIE);
            return true;
        }
        catch
        {
            return false;
        }
    }

    ///


    /// 读取COOKIEs
    ///

    /// 主键
    ///
    public string getCOOKIE(string strName)
    {
        HttpCOOKIE COOKIE = System.Web.HttpContext.Current.Request.COOKIEs[strName];
        if (COOKIE != null)
        {
            return COOKIE.Value.ToString();
        }
        else
        {
            return null;
        }
    }

    ///


    /// 删除COOKIEs
    ///

    /// 主键
    ///
    public bool delCOOKIE(string strName)
    {
        try
        {
            HttpCOOKIE COOKIE = new HttpCOOKIE(strName);
            //COOKIE.Domain = ".xxx.com";//当要跨域名访问的时候,给COOKIE指定域名即可,格式为.xxx.com
            COOKIE.Expires = DateTime.Now.AddDays(-1);
            System.Web.HttpContext.Current.Response.COOKIEs.Add(COOKIE);
            return true;
        }
        catch
        {
            return false;
        }
    }
}

示例:

代码如下:

COOKIE COOKIE = new COOKIE();
COOKIE.setCOOKIE("name", "aaa",1);//赋值
COOKIE.getCOOKIE("name");//取值
COOKIE.delCOOKIE("name");//删除

注意:当COOKIE存中文出现乱码,则在存放时给中文编码,如COOKIE.setCOOKIE("name", Server.UrlEncode("aaa"),1),读取时解码即可

另外:只要不给COOKIE设置过期时间,COOKIE在浏览器关闭的时候自动失效


推荐阅读
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • 本文详细介绍了如何使用JavaScript实现面部交换功能,包括基本原理和具体实现步骤。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 优化虎牙直播体验的插件
    近期在观看虎牙直播时,发现广告和一些低质量直播间频繁出现,严重影响了观看体验。为此,我开发了一款插件,帮助用户屏蔽这些不想要的内容。以下是插件的介绍和使用方法。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 深入解析Django CBV模型的源码运行机制
    本文详细探讨了Django CBV(Class-Based Views)模型的源码运行流程,通过具体的示例代码和详细的解释,帮助读者更好地理解和应用这一强大的功能。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 数字经济浪潮下企业人才需求变化,优质IT培训机构助力技能提升
    随着云计算、大数据、人工智能、区块链和5G等技术的迅猛发展,数字经济已成为推动经济增长的重要动力。据信通院数据,2020年中国数字经济占GDP比重达38.6%,整体规模突破39.2万亿元。本文探讨了企业在数字化转型中对技术人才的需求变化,并介绍了优质IT培训机构如何助力人才培养。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • 一个初秋的雨夜,我独自漫步在校园的小道上,心中突然涌起对理想爱情的憧憬。这篇文章将分享我对理想伴侣的期望,以及与他共度美好时光的愿景。 ... [详细]
  • A*算法在AI路径规划中的应用
    路径规划算法用于在地图上找到从起点到终点的最佳路径,特别是在存在障碍物的情况下。A*算法是一种高效且广泛使用的路径规划算法,适用于静态和动态环境。 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
author-avatar
孙俊啟66864
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有