日期:2014-05-17  浏览次数:20652 次

如何判断cookies 过期?(时间相减)
本帖最后由 waCtr 于 2013-09-21 21:42:13 编辑
当cookie为空时  写入cookie
在写入cookie的时候  把服务器时间写入cookie 时间为1小时
如果cookie不为空  那么怎么判断这个cookie是否超过时间呢?
 如果超过了就重新登录,如果没有则从新写入新时间(也就是取出cookie中的时间与服务器当前时间相减是否过期)
没有超过那么设定新时间

代码如下: 望大神改进

            //写入cookie方法SetUser2(string Name,string Pwd)
            DateTime expires = default(DateTime);
            expires=DateTime.Now.AddHours(1);//1小时
            HttpCookie cookie = new HttpCookie(CookieName);
            cookie.Values.Add("n", Name);
            cookie.Values.Add("P", Pwd);//密码
            cookie.Values.Add("T", expires.ToString("yyyy-MM-dd HH:mm:ss"));//时间
            HttpContext.Current.Response.Cookies.Set(cookie);

           //读取cookie方法
            HttpCookie cookie = HttpContext.Current.Request.Cookies[CookieName];
            if (cookie != null)
            {
                string Name = cookie.Values["n"];
                string PWD = cookie.Values["P"];
                //如何取出时间  并判断是否过期?
                //如果没过期则从新写入1小时过期时间,如果过期则同样创建新cookie
                //从新写入cookie
                SetUser2(this._Name, this.Pwd);
                return true;
            }