Session 帮助类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.SessionState;
namespace Hzb.Utils.Session
{
public class SessionHelper
{
private static HttpSessionState _session = HttpContext.Current.Session;
/// <summary>
/// 设置Session
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="minute"></param>
public static void SetSession(string key, object value, int minute)
{
_session[key] = value;
_session.Timeout = minute;
}
/// <summary>
/// 获取Session对象
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static object GetSessionObject(string key)
{
object result = null;
if (_session[key] != null)
{
result = _session[key];
}
return result;
}
/// <summary>
/// 获取Session数字
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static int GetSessionNumber(string key)
{
int result = 0;
if (_session[key] != null)
{
int.TryParse(_session[key].ToString(), out result);
}
return result;
}
/// <summary>
/// 获取Session字符串
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetSessionString(string key)
{
string result = "";
if (_session[key] != null)
{
result = _session[key].ToString();
}
return result;
}
/// <summary>
/// 删除Session
/// </summary>
/// <param name="key"></param>
public static void Remove(string key)
{
if (_session[key] != null)
{
_session[key] = null;
}
}
/// <summary>
/// 清除Session
/// </summary>
public static void Clear()
{
_session.Clear();
}
}
}
Cookie 帮助类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
namespace Hzb.Utils.Cookie
{
/// <summary>
/// 2015 9 17 tangli
/// </summary>
public static class CookieHelper
{
/// <summary>
/// 获取单值Cookie的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetSingleValueCookieValue(string key)
{
//读取单值Cookie:animal
if (HttpContext.Current.Request.Cookies[key] != null)
{
return HttpContext.Current.Request.Cookies[key].Value;
}
else
{
return "";
}
}
/// <summary>
/// 添加单值Cookie 含过期时间
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="Expired"></param>
public static void AddSingleValueCookie(string key, string value, DateTime Expired)
{
HttpResponse response = HttpContext.Current.Response;
//声明创建
HttpCookie ck = new HttpCookie(key);
//设置相关值
ck.Value = value;
//设置过期时间
ck.Expires = Expired; //DateTime.Now.AddDays(1);
//写入客户端
response.Cookies.Add(ck);
}
/// <summary>
/// 添加单值Cookie 无过期时间 默认浏览器关闭就过期 不常用
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void AddSingleValueCookie(string key, string value)
{
HttpResponse response = HttpContext.Current.Response;
//声明创建
HttpCookie ck = new HttpCookie(key);
//设置相关值
ck.Value = value;
//写入客户端
response.Cookies.Add(ck);
}
/// <summary>
/// 编辑单值Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="Expired"></param>
public static void EditSingleValueCookie(string key, string value, DateTime Expired)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[key];
if (ck != null)
{
//设置相关值
ck.Value = value;
ck.Expires = Expired; //DateTime.MaxValue;
HttpContext.Current.Response.Cookies.Add(ck);
}
}
/// <summary>
/// 编辑单值Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void EditSingleValueCookie(string key, string value)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[key];
if (ck != null)
{
//设置相关值
ck.Value = value;
HttpContext.Current.Response.Cookies.Add(ck);
}
}
/// <summary>
/// 清除单值的Cookie
/// </summary>
/// <param name="key"></param>
public static void DelSingleValueCookie(string key)
{
HttpResponse response = HttpContext.Current.Response;
//这种写法最标准
response.Cookies[key].Expires = DateTime.MinValue;
}
/// <summary>
/// 读取多值Cookie
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="sub_key_Arr"></param>
/// <returns></returns>
public static List<string> GetMultiValueCookie(string multi_cookie_key, params string[] sub_key_Arr)
{
//读取多值Cookie: multi_cookie [name,sex,age]
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
if (ck != null)
{
List<string> list = new List<string>();
for (int i = 0; i < sub_key_Arr.Length; i++)
{
var sub_key = sub_key_Arr[i];
var sub_value = ck.Values[sub_key];
var temp = sub_key + "=" + sub_value;
list.Add(temp);
}
//这样的程序语句更一目了然,更易维护
//必须确定主键名称 和 子键名称
//HttpCookie _ck = Request.Cookies["multi_cookie"];
//txt_multiCookie.Text = _ck.Values["name"] + ","
// + _ck.Values["sex"] + ","
// + _ck.Values["age"] + "岁";
return list;
}
else
{
return null;
}
}
/// <summary>
/// 添加一个多值的Cookie
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="Expired"></param>
/// <param name="strArr"></param>
public static void AddMultiValueCookie(string multi_cookie_key, DateTime Expired, params string[] strArr)
{
HttpResponse response = HttpContext.Current.Response;
//声明创建
HttpCookie ck2 = new HttpCookie(multi_cookie_key);
foreach (string item in strArr) //item ----->name=小王
{
string[] arr = item.Split('=');
ck2.Values.Add(arr[0], arr[1]);
}
ck2.Expires = Expired; // DateTime.MaxValue; //设置过期时间:永不过期
//写入客户端
response.Cookies.Add(ck2);
}
/// <summary>
/// 添加一个多值的Cookie
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="strArr"> "name=小王","age=18","sex=男" </param>
public static void AddMultiValueCookie(string multi_cookie_key, params string[] strArr)
{
HttpResponse response = HttpContext.Current.Response;
//声明创建
HttpCookie ck2 = new HttpCookie(multi_cookie_key);
foreach (string item in strArr) //item ----->name=小王
{
string[] arr = item.Split('=');
ck2.Values.Add(arr[0], arr[1]);
}
//写入客户端
response.Cookies.Add(ck2);
}
/// <summary>
/// 清除多值的Cookie 貌似清除多值和单值 是一样的
/// </summary>
/// <param name="multi_cookie_key"></param>
public static void DelMultiValueCookie(string multi_cookie_key)
{
HttpResponse response = HttpContext.Current.Response;
//这种写法最标准
response.Cookies[multi_cookie_key].Expires = DateTime.MinValue;
}
/// <summary>
/// 修改 多值HttpCookie 的 其中一个子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="sub_key"></param>
/// <param name="sub_value"></param>
/// <param name="Expired"></param>
public static void EditMultiValueCookieValueBySubKey(string multi_cookie_key, string sub_key, string sub_value, DateTime Expired)
{
if (sub_key != "")
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
if (ck != null)
{
ck.Values.Set(sub_key, sub_value);
ck.Expires = Expired; //DateTime.MaxValue;
HttpContext.Current.Response.Cookies.Add(ck);
}
}
}
/// <summary>
/// 修改 多值HttpCookie 的 其中一个子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="sub_key"></param>
/// <param name="sub_value"></param>
public static void EditMultiValueCookieValueBySubKey(string multi_cookie_key, string sub_key, string sub_value)
{
if (sub_key != "")
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
if (ck != null)
{
ck.Values.Set(sub_key, sub_value);
HttpContext.Current.Response.Cookies.Add(ck);
}
}
}
/// <summary>
/// 删除 多值HttpCookie 的 其中一个子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="sub_key"></param>
/// <param name="Expired"></param>
public static void DelMultiValueCookieValueBySubKey(string multi_cookie_key, string sub_key, DateTime Expired)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
if (ck != null)
{
ck.Values.Remove(sub_key);
ck.Expires = Expired;
HttpContext.Current.Response.Cookies.Add(ck);
}
}
/// <summary>
/// 删除 多值HttpCookie 的 其中一个子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="sub_key"></param>
public static void DelMultiValueCookieValueBySubKey(string multi_cookie_key, string sub_key)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
if (ck != null)
{
ck.Values.Remove(sub_key);
HttpContext.Current.Response.Cookies.Add(ck);
}
}
/// <summary>
/// 删除 多值HttpCookie 所有的子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
/// <param name="Expired"></param>
public static void DelMultiValueCookieValues(string multi_cookie_key, DateTime Expired)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
ck.Values.Clear();
ck.Expires = Expired;
HttpContext.Current.Response.Cookies.Add(ck);
}
/// <summary>
/// 删除 多值HttpCookie 所有的子键的值
/// </summary>
/// <param name="multi_cookie_key"></param>
public static void DelMultiValueCookieValues(string multi_cookie_key)
{
HttpCookie ck = HttpContext.Current.Request.Cookies[multi_cookie_key];
ck.Values.Clear();
HttpContext.Current.Response.Cookies.Add(ck);
}
/// <summary>
/// 遍历清除所有的Cookie
/// </summary>
public static void DelAllCookie()
{
foreach (string _key in HttpContext.Current.Request.Cookies.AllKeys)
{
HttpContext.Current.Response.Cookies[_key].Expires = DateTime.MinValue;
}
}
}
}