zoukankan      html  css  js  c++  java
  • Cookie帮助类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Configuration;
    namespace Bll
    {
        /// <summary> 
        /// Cookie操作类 
        /// </summary> 
        public class CookieHelper
        {
            #region 保存Cookie
            /// <summary> 
            /// 保存Cookie 
            /// </summary> 
            /// <param name="CookieName">Cookie名称</param> 
            /// <param name="CookieValue">Cookie值</param> 
            /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param> 
            public static void SaveCookie(string CookieName, object CookieValue, double CookieTime)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                DateTime now = DateTime.Now;
                myCookie.Value = ConvertObjectToString(CookieValue);
                if (CookieTime != 0)
                    myCookie.Expires = now.AddHours(CookieTime);
                if (HttpContext.Current.Response.Cookies[CookieName] != null)
                    HttpContext.Current.Response.Cookies.Remove(CookieName);
                HttpContext.Current.Response.Cookies.Add(myCookie);
            }
            private static string ConvertObjectToString(object CookieValue)
            {
                BinaryFormatter bf = new BinaryFormatter();
                MemoryStream ms = new MemoryStream();
                bf.Serialize(ms, CookieValue);
                byte[] result = new byte[ms.Length];
                result = ms.ToArray();
                string temp = System.Convert.ToBase64String(result);
                ms.Flush();
                ms.Close();
                return temp;
            }
            #endregion
            #region 取得Cookie
            /// <summary> 
            /// 取得Cookie 
            /// </summary> 
            /// <param name="CookieName">Cookie名称</param> 
            /// <returns>Cookie的值</returns> 
            public static object GetCookie(string CookieName)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                myCookie = HttpContext.Current.Request.Cookies[CookieName];
                if (myCookie != null)
                    return ConvertStringToObject(myCookie.Value);
                else
                    return null;
            }
            private static object ConvertStringToObject(string value)
            {
                byte[] b = System.Convert.FromBase64String(value);
                MemoryStream ms = new MemoryStream(b, 0, b.Length);
                BinaryFormatter bf = new BinaryFormatter();
                return bf.Deserialize(ms);
            }
            #endregion
            #region 清除Cookie
            /// <summary> 
            /// 清除Cookie
            /// </summary> 
            /// <param name="CookieName">Cookie名称</param> 
            public static void ClearCookie(string CookieName)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                DateTime now = DateTime.Now;
                myCookie.Expires = now.AddYears(-2);
                HttpContext.Current.Response.Cookies.Add(myCookie);
            }
            #endregion
        }
    }
  • 相关阅读:
    opengl中的阴影映射
    怎样实现全屏显示(vc)
    刚花了10800大元买了一台IBM ThinkPad T60 dh2(港行水货)
    64位进程调用32位dll的解决方法
    转贴: OpenGL开发库的组成
    64位程序编译:终于将City****由32位编译为64位了
    opengl中的阴影体
    [转贴+更新]关于Directshow SDK 和Windows SDK
    安全专家称不再向厂商免费提供漏洞信息 狼人:
    国图新馆暴发网络病毒 来源或为读者自带笔记本 狼人:
  • 原文地址:https://www.cnblogs.com/wander1128/p/2524654.html
Copyright © 2011-2022 走看看