在类库中操作Cookie(源码-原创)

 #region  判断所查询的cookie是否存在,如果不存在则创建它
        /// <summary>
        /// 判断所传的cookie是否存在,如果不存在则创建它
        /// </summary>
        /// <param name="name">要检测的cookie名称</param>
        /// <param name="content">cookie的内容</param>
        /// <param name="dtime">cookie的有效时间</param>
        /// <returns>是否有此Cookie</returns>
        public static bool CheckCookie(string name, string content, DateTime dtime)
        {
            bool falg = false;
            HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[name];
            if (cookie != null && !cookie.Value.ToString().Equals(""))
                falg = true;
            else
                falg = createCookie(name, content);
            return falg;
        }
        /// <summary>
        /// 判断所传的cookie是否存在,如果不存在则创建它并设它的过期时间为浏览器关闭
        /// </summary>
        /// <param name="name">要检测的cookie名称</param>
        /// <param name="content">cookie的内容</param>
        /// <returns>是否有此Cookie</returns>
        public static bool CheckCookie(string name, string content)
        {
            bool falg = false;
            HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[name];
            if (cookie != null && !cookie.Value.ToString().Equals(""))
                falg = true;
            else
                falg = createCookie(name, content);
            return falg;
        }
        /// <summary>
        /// 判断所传的cookie是否存在
        /// </summary>
        /// <param name="name">要检测的cookie名称</param>
        /// <returns>是否有此Cookie</returns>
        public static bool CheckCookie(string name)
        {
            bool falg = false;
            HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[name];
            if (cookie != null && !cookie.Value.ToString().Equals(""))
                falg = true;
            return falg;
        }
        #endregion

        #region 创建cookie
        /// <summary>
        /// 创建cookie
        /// </summary>
        /// <param name="name">cookie名称</param>
        /// <param name="content">cookie的内容</param>
        /// <param name="dtime">cookie的过期时间</param>
        /// <returns>是否创建成功</returns>
        public static bool createCookie(string name, string content, DateTime dtime)
        {
            bool falg = false;
            if (!name.Equals("") && !content.Equals("") && !dtime.Equals(""))
            {
                HttpContext.Current.Response.Cookies.Add(new HttpCookie(name, HttpUtility.UrlEncode(content)));
                HttpContext.Current.Response.Cookies[name].Expires = dtime;
                falg = true;
            }
            return falg;
        }
       /// <summary>
        /// 创建cookie
        /// </summary>
        /// <param name="name">cookie名称</param>
        /// <param name="content">cookie的内容</param>
        /// <returns>是否创建成功</returns>
        public static bool createCookie(string name, string content)
        {
            bool falg = false;
            if (!name.Equals("") && !content.Equals(""))
            {
                HttpContext.Current.Response.Cookies.Add(new HttpCookie(name, HttpUtility.UrlEncode(content)));
                falg = true;
            }
            return falg;
        }
        #endregion

        #region 修改cookie
        /// <summary>
        /// 修改cookie
        /// </summary>
        /// <param name="name">要修改的cookie名</param>
        /// <param name="content">cookie的内容</param>
        /// <param name="dtime">cookie的有效时间</param>
        /// <returns>是否修改成功</returns>
        public static bool updateCookie(string name, string content, DateTime dtime)
        {
            bool falg = false;
            if (!name.Equals("") && !content.Equals("") && !dtime.Equals(""))
            {
                try
                {
                    HttpCookie cookie = HttpContext.Current.Request.Cookies[name];
                    if (cookie != null)
                        falg = createCookie(name, content, dtime);
                }
                catch (Exception e)
                { throw e; }
            }
            return falg;
        }
        /// <summary>
        /// 修改cookie
        /// </summary>
        /// <param name="name">要修改的cookie名</param>
        /// <param name="content">cookie的内容</param>
        /// <returns>是否修改成功</returns>
        public static bool updateCookie(string name, string content)
        {
            bool falg = false;
            if (!name.Equals("") && !content.Equals(""))
            {
                try
                {
                    HttpCookie cookie = HttpContext.Current.Request.Cookies[name];
                    if (cookie != null)
                        falg = createCookie(name, content);
                }
                catch (Exception e)
                { throw e; }
            }
            return falg;
        }
        #endregion

        #region  根据cookie名获得cookie中内容
        /// <summary>
        /// 根据cookie名获得cookie中内容
        /// </summary>
        /// <param name="cookieName">要获得的cookie名称</param>
        /// <returns>指定cookie的值</returns>
        public static string getCookie(string cookieName)
        {
            string value = "";
            if (!string.IsNullOrEmpty(cookieName))
            {
                HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
                if (cookie != null)
                     value = HttpUtility.UrlDecode(cookie.Value);
            }
            else
                value = "cookie为空值";
            return value;
        }
        #endregion
posted @ 2010-12-13 15:09  kelin418  阅读(835)  评论(0编辑  收藏  举报