C# (Cookie)基本操作
在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)基本操作的更多相关文章
- Cookie 基本操作
Cookie 基本操作 对于 Cookie 得常用操作有,存取,读取,以及设置有效期:具体可以参照 JavaScript 操作 Cookie 一文:但,近期在前端编码方面,皆以Vue为冲锋利器,所以就 ...
- session和cookie基本操作
session的作用同cookie一样: 1.在不同页面使用同一数组 2.实现验证码,用户跟踪(个人觉得这个用到的其实还是1中的作用) session相对于cookie更加的安全 先来说一下cooki ...
- PHP cookie基本操作
PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数据 ...
- 2.django笔记之缓存,session,cookie,ajax
一.django缓存 1.缓存 缓存的意义在于把昂贵的计算结果保存起来一遍下次的访问,有缓存的站点的流程大概是这样子的: 给定一个url,检查页面是否在缓存中 如果在,返回缓存的页面 否则,生成该页面 ...
- 同顶级域名下 通过Cookie 跨域实现单点登陆
Cookie对于web开发者而言真是一个小甜饼,因为它保留了用户的登录状态.但是当登陆站点在不同域名时就会出现问题了. 在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名. ...
- cookie详解(含vue-cookie)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9Ekm0u33w 原文如下,记录到此供以 ...
- 详解Cookie纪要
参考文档链接:http://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651552892&idx=1&sn=126a1d32 ...
- 详解 Cookie 纪要(vue.cookie,jquery.cookie简化)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://www.jeffjade.com/2016/10/31/115-summary-of-cookie/ 原文 ...
- js中的cookie使用和vue-cookie的使用
在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cookie规范定义了服务器和客户端交互信息的格式.生存期.使用范围.安全性. 在JavaScrip ...
随机推荐
- hdu 6058
\(f(l,r,k)=\)区间[\(l\),\(r\)]的第k大. \(\sum_{l=1}^{n}{\sum_{r=l}^{n}{f(l,r,k)}}\) 参考题解,claris大佬题解.赛后AC. ...
- hdu-5738 Eureka(组合计数+极角排序)
题目链接: Eureka Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Pr ...
- Messes in Reading Source Coding of SSD
这里记录在学习SSD源码过程中用到的相关内容 keras.applications.imagenet_utils.preprocess_input(): 用来将读入的原始图片张量转换成为需要Image ...
- ubuntu 下编译安装ceph
git clone --recursive https://github.com/ceph/ceph.git cd ceph/ sudo apt-get install libtool sud ...
- Mybatis一二级缓存的理解
频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相同的查询语句,完全可以 ...
- 注销ie中的ActiveX插件
最新在C#下开发ActiveX控件,遇到一个问题,就是在调试的时候,ActiveX就已经注册在了调试目录下,这样即使安装这个插件,也无法注册到ActiveX的安装目录下.为了解决这个问题,需要注销下调 ...
- opencv MatExpr MatOp
opencv提供了很多Mat的操作,其中涉及到两个重要的类:MatOp和MatExpr C++: MatExpr abs(const Mat& m) C++: void absdiff(Inp ...
- 洛谷1601 A+B Problem(高精) 解题报告
洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ...
- 如何用纯js做一个大富翁游戏
下面这张是效果图: 先立个flag,一个星期内把这个坑填了
- 解读大内老A的《.NET Core框架本质》
老A说的一句话让我很受启发,想要深入了解框架,你要把精力聚焦在架构设计的层面来思考问题.而透彻了解底层原理,最好的笨办法就是根据原理对框架核心进行重建或者说再造.看起来没有捷径,也是最快的捷径. 题外 ...