ASP.NET cookie设置过期问题

来源:互联网 发布:tf idf算法python实现 编辑:程序博客网 时间:2024/05/17 07:02


1、创建Cookies有两种方法:

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);

2、读取Cookie
if(Request.Cookies["userName"] != null)
    Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);

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

3:设置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,
这样页面之间的调用时值会为空。

Function killip(cook,cooktime) '封杀ip,同一个ip不能多次执行,( cookies名字,cookies时间) killip("queip",30)
cook = checkstr(cook)
If Not isint(cooktime) Then
response.write "cooktime is not int"
Exit function
End If
If request.Cookies(cook)&"" <> "" And request.Cookies(cook)&"" = getip() Then
execScript "alert('抱歉,同一个IP不能多次操作。');location.href='/';"
response.End
End If
response.cookies(cook) = getip()
Response.Cookies(cook).Expires=DateAdd("n",cooktime,now()) '多少分种。 dateadd("S",30,now()) 30秒。 date+1 1天。
End Function

Call killip("queip",30)

0 0