示例#1
0
        /*
         * If there is no cookie has already created, firstly new cookie creating with name
         */
        public static bool SetCookie(string cookieName, List <KTCookieObject> parameters, DateTime expireDate)
        {
            var culture  = CultureInfo.CurrentCulture;
            var dtExpire = expireDate.ToString(culture);

            try
            {
                var liParameters = new List <KTCookieObject>();
                foreach (var param in parameters)
                {
                    var newParameter = new KTCookieObject
                    {
                        Name = param.Name,
                        Data = param.Data
                    };
                    liParameters.Add(newParameter);
                }

                var httpCookie = HttpContext.Current.Response.Cookies[cookieName];
                var expire     = DateTime.Now.AddDays(1);
                if (httpCookie != null)
                {
                    foreach (var parameter in liParameters)
                    {
                        httpCookie[parameter.Name] = parameter.Data;
                    }

                    DateTime.TryParse(dtExpire, culture, DateTimeStyles.AssumeLocal, out expire);

                    httpCookie["expire"] = dtExpire;
                    httpCookie.Expires   = expire;
                    httpCookie.HttpOnly  = true;
                }
                else
                {
                    var aCookie = new HttpCookie(cookieName);

                    foreach (var parameter in liParameters)
                    {
                        aCookie.Values[parameter.Name] = parameter.Data;
                    }
                    aCookie.Values["expire"] = dtExpire;
                    aCookie.Expires          = expire;
                    aCookie.HttpOnly         = true;

                    HttpContext.Current.Response.Cookies.Add(aCookie);
                }
            }
            catch
            {
                return(false);
            }
            return(true);
        }
示例#2
0
        /*
         * If there is no cookie has already created, firstly new cookie creating with name
         */
        public static bool SetCookie(string cookieName, List<KTCookieObject> parameters, DateTime expireDate)
        {
            var culture = CultureInfo.CurrentCulture;
            var dtExpire = expireDate.ToString(culture);

            try
            {
                var liParameters = new List<KTCookieObject>();
                foreach (var param in parameters)
                {
                    var newParameter = new KTCookieObject
                    {
                        Name = param.Name,
                        Data = param.Data
                    };
                    liParameters.Add(newParameter);
                }

                var httpCookie = HttpContext.Current.Response.Cookies[cookieName];
                var expire = DateTime.Now.AddDays(1);
                if (httpCookie != null)
                {
                    foreach (var parameter in liParameters)
                    {
                        httpCookie[parameter.Name] = parameter.Data;
                    }

                    DateTime.TryParse(dtExpire, culture, DateTimeStyles.AssumeLocal, out expire);

                    httpCookie["expire"] = dtExpire;
                    httpCookie.Expires = expire;
                    httpCookie.HttpOnly = true;
                }
                else
                {
                    var aCookie = new HttpCookie(cookieName);

                    foreach (var parameter in liParameters)
                    {
                        aCookie.Values[parameter.Name] = parameter.Data;
                    }
                    aCookie.Values["expire"] = dtExpire;
                    aCookie.Expires = expire;
                    aCookie.HttpOnly = true;

                    HttpContext.Current.Response.Cookies.Add(aCookie);
                }
            }
            catch
            {
                return false;
            }
            return true;
        }