在Common中新建一个CookieHelper,全局调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web; namespace Common {
public class CookieHelper {
/// <summary>
/// 设置cookie
/// </summary>
/// <param name="cookieName">cookie名称</param>
/// <param name="cookieValue">cookie值</param>
/// <param name="domain">作用域,为空就不写入作用域</param>
public static void SetCookie(String cookieName, String cookieValue, string domain) {
if (String.IsNullOrEmpty(cookieName) || String.IsNullOrEmpty(cookieValue)) return;
if (HttpContext.Current != null) {
HttpCookie cookie = new HttpCookie(cookieName, cookieValue);
if (domain.Length > 0) {
cookie.Domain = domain;
}
cookie.HttpOnly = true;
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 设置cookie
/// </summary>
/// <param name="cookieName">cookie名称</param>
/// <param name="cookieValue">cookie值</param>
/// <param name="domain">作用域,为空就不写入作用域</param>
/// <param name="day">有效时间</param>
public static void SetCookie(String cookieName, String cookieValue, string domain, int day) {
if (String.IsNullOrEmpty(cookieName) || String.IsNullOrEmpty(cookieValue)) return;
if (HttpContext.Current != null) {
HttpCookie cookie = new HttpCookie(cookieName, cookieValue);
if (domain.Length > 0) {
cookie.Domain = domain;
}
cookie.HttpOnly = true;
cookie.Expires = DateTime.Now.AddDays(day);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 设置cookie过期
/// </summary>
/// <param name="cookieName">需要过期的cookie名称</param>
public static void ExpireCookie(String cookieName) {
if (String.IsNullOrEmpty(cookieName)) return;
if (HttpContext.Current != null) {
HttpCookie cookie = new HttpCookie(cookieName, string.Empty);
cookie.HttpOnly = true;
cookie.Expires = DateTime.Now.AddYears(-5);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 获取对应Cookie名称的值
/// </summary>
/// <param name="cookieName">Cookie 的名称</param>
/// <returns></returns>
public static string GetCookie(string cookieName) {
if (string.IsNullOrEmpty(cookieName)) return string.Empty;
if (System.Web.HttpContext.Current == null) return string.Empty;
if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null) return string.Empty;
else return System.Web.HttpContext.Current.Request.Cookies[cookieName].Value;
}
/// <summary>
/// 判断对应的Cookie是否存在
/// </summary>
/// <param name="cookieName">Cookie 的名称</param>
/// <returns></returns>
public static bool ExistCookie(string cookieName) { if (string.IsNullOrEmpty(cookieName) || System.Web.HttpContext.Current == null) return false;
if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null) return false;
if (System.Web.HttpContext.Current.Request.Cookies[cookieName].Value == null) return false;
return (System.Web.HttpContext.Current.Request.Cookies[cookieName].Value.Length > 0);
}
}
}

  

C# (Cookie)基本操作的更多相关文章

  1. Cookie 基本操作

    Cookie 基本操作 对于 Cookie 得常用操作有,存取,读取,以及设置有效期:具体可以参照 JavaScript 操作 Cookie 一文:但,近期在前端编码方面,皆以Vue为冲锋利器,所以就 ...

  2. session和cookie基本操作

    session的作用同cookie一样: 1.在不同页面使用同一数组 2.实现验证码,用户跟踪(个人觉得这个用到的其实还是1中的作用) session相对于cookie更加的安全 先来说一下cooki ...

  3. PHP cookie基本操作

    PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数据 ...

  4. 2.django笔记之缓存,session,cookie,ajax

    一.django缓存 1.缓存 缓存的意义在于把昂贵的计算结果保存起来一遍下次的访问,有缓存的站点的流程大概是这样子的: 给定一个url,检查页面是否在缓存中 如果在,返回缓存的页面 否则,生成该页面 ...

  5. 同顶级域名下 通过Cookie 跨域实现单点登陆

    Cookie对于web开发者而言真是一个小甜饼,因为它保留了用户的登录状态.但是当登陆站点在不同域名时就会出现问题了. 在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名. ...

  6. cookie详解(含vue-cookie)

    今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9Ekm0u33w 原文如下,记录到此供以 ...

  7. 详解Cookie纪要

    参考文档链接:http://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651552892&idx=1&sn=126a1d32 ...

  8. 详解 Cookie 纪要(vue.cookie,jquery.cookie简化)

    今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://www.jeffjade.com/2016/10/31/115-summary-of-cookie/ 原文 ...

  9. js中的cookie使用和vue-cookie的使用

    在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cookie规范定义了服务器和客户端交互信息的格式.生存期.使用范围.安全性. 在JavaScrip ...

随机推荐

  1. 苹果app(iOS app)的URL schemes

    最近折腾iOS快捷启动应用或应用内的某个动作的神器launch center pro (LCP),发现很多国产app并没有被LCP官方收录,所以不得不想办法找到app的url schemes. 下面是 ...

  2. git 系统中 post-receive 钩子不能正常执行 git pull 解决方法

    有一个需求是本地git在push到远程 git repo 之后,在远程服务器上自动在/dir/foo下执行 git pull 的操作.想来是一个很简单的需求,不就是在远程的 foo.git 仓库中的 ...

  3. 搭建Linux的VMware Workstation Pro

    搭建准备环境: 1.win10操作系统: 2.VMware Workstation Pro12: 下载地址   http://www.vmware.com/products/workstation/w ...

  4. Kafka入门之生产者消费者

    一.Kafka安装与使用 ( kafka介绍     ) 1. 下载Kafka 官网 http://kafka.apache.org/    以及各个版本的下载地址 http://archive.ap ...

  5. java集合框架之ArrayList与LinkedList的区别

    参考http://how2j.cn/k/collection/collection-arraylist-vs-linkedlist/690.html#nowhere ArrayList和LinkedL ...

  6. JSON 下 -- jansson 示例

    JSON 下 —— jansson 示例 参考网址: jansson 库的下载: http://www.digip.org/jansson/ 安装jansson 步骤: http://blog.csd ...

  7. 把myeclipse中html/jsp文件的视图调到只看代码

    烦恼———————————————————— 解决方法: ok---------------------------- *.jsp 同理

  8. Eclipse SVN 图标解释

    [转]http://blog.sina.com.cn/s/blog_64941c8101018dno.html - 已忽略版本控制的文件.可以通过Window → Preferences → Team ...

  9. ASP.NET页面执行顺序

    原文地址:http://blog.csdn.net/a497785609/article/details/4510335 1.对象初始化(OnInit方法) 页面中的控件(包括页面本身)都是在它们最初 ...

  10. 3DMAX 6 游戏特效制作

    3d主要是粒子系统为主,一个特效可能包含多个粒子系统,需要注意粒子系统尽量减少多余参数,材质shader在手机上要经过优化 另外可以使用面片加脚本实现滚动效果,比如瀑布等等 具体方法以后补充,占位