using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Configuration;
namespace Ant.Service.Utilities
{
///
/// cookies操作类
///
public class CookiesOperater
{
///
/// cookies的作用域
///
private static string domain = ConfigurationManager.AppSettings["domain"].Trim();
#region 加密写入cookies
///
/// 写入cookies[默认加密]
///
/// cookies名称
/// cookies的值
/// 有效期
public static void InnerAESCookie(string cname, string values, int days)
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
hc = new HttpCookie(cname);
}
hc.Expires = DateTime.Now.AddDays(days);
hc.Value = AES.Encode(values);
hc.Domain = domain;
HttpContext.Current.Response.Cookies.Add(hc);
}
///
/// 写入cookies默认14天时间 (两周)[默认加密]
///
/// cookies名称
/// cookies值
public static void InnerAESCookie(string cname, string values)
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
hc = new HttpCookie(cname);
}
hc.Expires = DateTime.Now.AddDays(14);
hc.Value = AES.Encode(values);
hc.Domain = domain;
HttpContext.Current.Response.Cookies.Add(hc);
}
#endregion
#region 不加密写入cookies
///
/// 写入cookies[默认不加密]
///
/// cookies名称
/// cookies的值
/// 有效期
public static void InnerCookie(string cname, string values, int days)
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
hc = new HttpCookie(cname);
}
hc.Expires = DateTime.Now.AddDays(days);
hc.Value = values;
hc.Domain = domain;
HttpContext.Current.Response.Cookies.Add(hc);
}
///
/// 写入cookies默认14天时间 (两周)[默认不加密]
///
/// cookies名称
/// cookies值
public static void InnerCookie(string cname, string values)
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
hc = new HttpCookie(cname);
}
hc.Expires = DateTime.Now.AddDays(14);
hc.Value = values;
hc.Domain = domain;
HttpContext.Current.Response.Cookies.Add(hc);
}
#endregion
#region 不解密读取cookies
///
/// 通过cookies的名称获取cookies的值[默认不解密]
///
///
///
public static string GetCookiesByName(string cname)
{
try
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
return string.Empty;
}
else
{
return hc.Value;
}
}
catch
{
return null;
}
}
#endregion
#region 解密读取cookies
///
/// 通过cookies的名称获取cookies的值[默认解密]
///
///
///
public static string GetAESCookiesByName(string cname)
{
try
{
HttpCookie hc = HttpContext.Current.Request.Cookies.Get(cname);
if (hc == null)
{
return string.Empty;
}
else
{
return AES.Decode(hc.Value);
}
}
catch
{
return null;
}
}
#endregion
#region 删除cookies
///
/// 删除 指定 cookies
///
/// cookies的名称
///
public static void DelCookiesByName(string cname)
{
HttpCookie myCookie = HttpContext.Current.Request.Cookies[cname];
if (myCookie != null)
{
myCookie.Expires = DateTime.Now.AddDays(-14);
myCookie.Value = null;
myCookie.Domain = domain;
HttpContext.Current.Response.Cookies.Add(myCookie);
}
else
{
myCookie = new HttpCookie(cname);
myCookie.Expires = DateTime.Now.AddDays(-14);
myCookie.Value = null;
myCookie.Domain = domain;
HttpContext.Current.Response.Cookies.Add(myCookie);
}
}
#endregion
}
}