本文假设读者已经了解cookie的概念和作用,并且在传统的.net framework平台上使用过。
cookie的使用方法和之前的相比也有所变化。之前是通过cookie的add、set、clear、remove方法操作的。asp.net core对cookie的操作提供了新方法,不需要注入什么服务,也不需要使用什么中间件,直接在代码中使用即可。具体请看下面的介绍。
设置cookie:
定义:void Append(string key, string value);
使用:Response.Cookies.Append(_key, "subendong");
读取cookie:
定义:public abstract IRequestCookieCollection Cookies { get; set; }
使用:var username = Request.Cookies["username"];
说明:很明显Cookies是个键值对的集合,该集合继承了IEnumerable<KeyValuePair<string, string>>和 Ienumerable两个接口。
删除cookie:
定义:void Delete(string key);
使用:Response.Cookies.Delete(_key);
说明:
同一个web项目在部署到多台机器时(集群),不要使用session,如果不对session做负载,有时候是拿不到session的;
要用cookie,cookie比较方便,不存在获取不到的情况。我们的项目为了减小session没做负载的风险,做法是生成一个guid的cookie保存在客户端,当做sessionid来使用。