序列化后存储Cookie

        /// <summary>
        /// 存储Cookie
        /// </summary>
        /// <param name="name">Coookies名称</param>
        /// <param name="value">对象</param>
        /// <param name="expiredays">Cookie有效天数</param>
        /// <param name="path">Cookie路径</param>
        public static void AppendCookie(string name, object value, int expiredays, params string[] path)
        {
            //获得序列化字符串
            string CookieString = SerializationFunc.SerializeObject(value);

            foreach (string str in path)
            {
                HttpCookie Cookie = new HttpCookie(name);
                Cookie.Value = CookieString;
                Cookie.Expires = DateTime.Today.AddDays(expiredays);
                if (str.Trim().Length>0)
                {
                    Cookie.Path = str;
                }

                HttpContext.Current.Response.Cookies.Add(Cookie);
            }
        }

        /// <summary>
        /// 序列化对象
        /// </summary>
        /// <param name="value">对象</param>
        /// <returns>序列化字符串</returns>
        public static string SerializeObject(object value)
        {
            string ReturnString = string.Empty;

            using (MemoryStream SerializationStream = new MemoryStream())
            {
                BinaryFormatter BFormatter = new BinaryFormatter();
                BFormatter.Serialize(SerializationStream, value);
                ReturnString = Convert.ToBase64String(SerializationStream.ToArray());
            }

            return ReturnString;
        }

        /// <summary>
        /// 反序列化对象
        /// </summary>
        /// <param name="value">序列化字符串</param>
        /// <returns>对象</returns>
        public static object DeSerializeObject(string value)
        {
            object ReturnObject;

            using (MemoryStream SerialzationStream = new MemoryStream(Convert.FromBase64String(value)))
            {
                BinaryFormatter BFormatter = new BinaryFormatter();
                ReturnObject = (object)BFormatter.Deserialize(SerialzationStream);
            }
            return ReturnObject;
        }

原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3127091.html