コード例 #1
0
 public static void Add(string key, object value, int?timeout)
 {
     System.Web.HttpCookie httpCookie = System.Web.HttpContext.Current.Request.Cookies[AdminCookie.CookiesName];
     if (httpCookie == null)
     {
         httpCookie = new System.Web.HttpCookie(AdminCookie.CookiesName);
     }
     httpCookie.Expires     = System.DateTime.Now.AddYears(50);
     httpCookie.Domain      = AdminCookie.CookiesDomain;
     httpCookie.Values[key] = System.Web.HttpUtility.UrlEncode(value.ToString());
     httpCookie.Values[key + AdminCookie.ExpireTimeStr] = ((!timeout.HasValue) ? System.Web.HttpUtility.UrlEncode(AdminCookie.CookiesExpire.ToString("yyyy-MM-dd HH:mm:ss")) : System.Web.HttpUtility.UrlEncode(System.DateTime.Now.AddMinutes((double)timeout.Value).ToString("yyyy-MM-dd HH:mm:ss")));
     httpCookie.Values[AdminCookie.ValidateName]        = AdminCookie.GetValidateStr(httpCookie);
     System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
 }
コード例 #2
0
 public static void Add(System.Collections.Generic.Dictionary <string, object> dic, int?timeout)
 {
     System.Web.HttpCookie httpCookie = System.Web.HttpContext.Current.Request.Cookies[AdminCookie.CookiesName];
     if (httpCookie == null)
     {
         httpCookie = new System.Web.HttpCookie(AdminCookie.CookiesName);
     }
     httpCookie.Expires = System.DateTime.Now.AddYears(50);
     httpCookie.Domain  = AdminCookie.CookiesDomain;
     foreach (System.Collections.Generic.KeyValuePair <string, object> current in dic)
     {
         httpCookie.Values[current.Key] = System.Web.HttpUtility.UrlEncode(current.Value.ToString());
         httpCookie.Values[current.Key + AdminCookie.ExpireTimeStr] = ((!timeout.HasValue) ? System.Web.HttpUtility.UrlEncode(AdminCookie.CookiesExpire.ToString("yyyy-MM-dd HH:mm:ss")) : System.Web.HttpUtility.UrlEncode(System.DateTime.Now.AddMinutes((double)timeout.Value).ToString("yyyy-MM-dd HH:mm:ss")));
     }
     httpCookie.Values[AdminCookie.ValidateName] = AdminCookie.GetValidateStr(httpCookie);
     System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
 }
コード例 #3
0
 public static object GetValue(string key)
 {
     if (key != null && key != "")
     {
         System.Web.HttpCookie httpCookie = System.Web.HttpContext.Current.Request.Cookies[AdminCookie.CookiesName];
         if (httpCookie == null)
         {
             return(null);
         }
         httpCookie.Expires = System.DateTime.Now.AddYears(50);
         httpCookie.Domain  = AdminCookie.CookiesDomain;
         if (!AdminCookie.ValidateCookies(httpCookie))
         {
             httpCookie.Expires = System.DateTime.Now.AddYears(-1);
             System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
             return(null);
         }
         string          text = httpCookie.Values[key + AdminCookie.ExpireTimeStr];
         System.DateTime t;
         if (string.IsNullOrEmpty(text) || !System.DateTime.TryParse(System.Web.HttpUtility.UrlDecode(text), out t))
         {
             httpCookie.Values[key] = "";
             httpCookie.Values[key + AdminCookie.ExpireTimeStr] = "";
             httpCookie.Values[AdminCookie.ValidateName]        = AdminCookie.GetValidateStr(httpCookie);
             System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
             return(null);
         }
         System.DateTime now = System.DateTime.Now;
         if (t > now)
         {
             return(System.Web.HttpUtility.UrlDecode(httpCookie.Values[key]));
         }
         httpCookie.Values[key] = "";
         httpCookie.Values[key + AdminCookie.ExpireTimeStr] = "";
         httpCookie.Values[AdminCookie.ValidateName]        = AdminCookie.GetValidateStr(httpCookie);
         System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
     }
     return(null);
 }