ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ASP.NET MVC cookie存取和设置过期时间

2022-01-23 16:06:11  阅读:322  来源: 互联网

标签:Cookies ASP Session Expires MVC cookie Cookie Response


ASP.NET cookie存取和设置过期时间

ASP.NET Cookie和Session - 15037075275z - 博客园

创建

//第一种
Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);//存的时候指定过期时间

//第二种
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);

读取

if(Request.Cookies["userName"] != null)
{
    HttpCookie aCookie = Request.Cookies["userName"];
    Label1.Text = Server.HtmlEncode(aCookie.Value);
}

设置cookie过期时间

默认cookies失效时间是直到关闭浏览器,cookies失效,也可以指定cookies时间。

Response.Cookies("user_name").Expires=Date+1 '指定cookie保存时间

保留COOKIES一个小时

Response.Cookies("MyCookie").Expires= (now()+1/24)
Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())

设置60个月以后过期

Response.Cookies("CookieName").Expires=DateAdd("m",60,now())

Response.Cookies("User").expires=second()+7

在expires后面定义的时间可以用时间函数代替

例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。
Response.Cookies("字段名").expires=时间函数+N,
例如: Response.Cookies("name2").expires=date+1,表示Cookies保存1天,
再比如: Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。
这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),
访问时会出现500错误(还是无法显示网页?忘了)。
这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,
则使用: Response.Cookies("baidooglecom").expires = DateAdd("h", 1, Now()) 30分钟:
Response.Cookies("CookieName").Expires=DateAdd("n",30,now()) dateadd("S",30,now())
得到秒 Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,
或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,

则在任务结束后 cookie 将到期。 cookie的使用到期时间为“2010年1月1日”:

Response.Cookies("CookieName").Expires=#January 01, 2010# cookie的过期时间为“cookie的创建时间+365天”:Response.Cookies("CookieName").Expires=Date+365 但最好不要随便写 Response.Cookies("CookieName").Expires=Date,
这样页面之间的调用时值会为空。

---------------------------------------------------------------------------

1.Cookie对象

(1).写入Cookie对象

HttpCookie cookie = new HttpCookie("data"); 注:定义cookie,name属性为data。

cookie.Values.Add("name","123"); 注:cookie是以键值对的方式存储。

cookie.Expires = DateTime.Now.AddYears(2); 注:过期时间设置为2年,也可以不设置过期时间,如果不设置cookie在浏览器关闭是自动清除。

Response.Cookies.Add(cookie); 注:写入Response对象。

(2).读取Cookie对象

HttpCookie cookie = Request.Cookies["data"]; 注:获取name属性为data的cookie

if(cookies !=null &&Cookies.HasKeys) 注:判断cookie是否存在

{

string s = cookies["name"]; 注:根据name键获取值

Response.Write(s);

}

2.Session对象

Session的定义和读取相对比Cookie容易

(1).定义Session对象

Session["Itemsession"] = "abc"; 注:Session的值为"abc",Session的类型是object所以可以赋任何类型。

(2).读取Session对象

string s =(string)Session["Itemsession"] ; 注:读取时的类型,要和定义时的类型一致。

Response.Write(s);

(3).Session特点

同一台电脑的同一个浏览器表示同一次会话,不同的浏览器表示不同的会话。

同一台电脑的同一个浏览器只能有一个Session。

Session的过期时间是在浏览器关闭时自动清除或用户不进行任何活动20分钟Session也会自动清除。

3.Cookie和Session的不同点和相同点

(1).相同点

Cookie对象和Session对象作用是在窗体之间传值。

等等

(2).不同点

Cookie将状态保存在客户端,Session将状态保存在服务器端。

Session相对Cookie,Session的安全性更高。

等等。

标签:Cookies,ASP,Session,Expires,MVC,cookie,Cookie,Response
来源: https://blog.csdn.net/qq_18932003/article/details/122652557

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有