02
2015
06

【C#、Asp.Net 工具类大全】Session常用操作类

使用实例:

private User u = new User();
private string urlPath = "";
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        #region 基础数据
        u = new User();
        u.UserName = "郑德才";
        u.UserAge = "27";
        u.UserSex = "男";
        u.UserSite = "http://www.zhengdecai.com";
        urlPath = Server.MapPath("~/file/");
        #endregion
        sessionInfo();
    }
}
/// <summary>
/// Session测试
/// </summary>
private void sessionInfo()
{
    SessionHelper.SetSession("userName", "郑德才");
    SessionHelper.AddSession("userAge", "27");
    SessionHelper.AddSession("userSex", "男", 5);
    SessionHelper.AddSession("userSite", "http://www.zhengdecai.com", 5);
    string[] s = new string[4] { "郑德才", "27", "男", "http://www.zhengdecai.com" };
    SessionHelper.AddsSession("s", s);
    SessionHelper.SetSession("u", u);
    SessionHelper.GetSession("userName");
    User user = SessionHelper.GetSession<User>("u");
    string[] userList = SessionHelper.GetsSession("s");
    string cStr = SessionHelper.GetSession("userName") + "-" + SessionHelper.GetSession("userAge") + "-" + SessionHelper.GetSession("userSex") + "-" + SessionHelper.GetSession("userSite");
    Response.Write("存在Session:" + cStr + "<br />");
    SessionHelper.RemoveSession("userName");
    SessionHelper.DeleteSession("userAge");
    cStr = SessionHelper.GetSession("userName") + "-" + SessionHelper.GetSession("userAge") + "-" + SessionHelper.GetSession("userSex") + "-" + SessionHelper.GetSession("userSite");
    Response.Write("存在Session:" + cStr + "<br />");
    /*SessionHelper.RemoveAllSession();
    cStr = SessionHelper.GetSession("userName") + "-" + SessionHelper.GetSession("userAge") + "-" + SessionHelper.GetSession("userSex") + "-" + SessionHelper.GetSession("userSite");
    Response.Write("存在Session:" + cStr + "<br />");*/
    SessionHelper.ClearAllSession();
    cStr = SessionHelper.GetSession("userName") + "-" + SessionHelper.GetSession("userAge") + "-" + SessionHelper.GetSession("userSex") + "-" + SessionHelper.GetSession("userSite");
    Response.Write("存在Session:" + cStr + "<br />");
}

类库信息:

/// <summary>
/// Session 通用操作类
/// 1、GetSession(string strSessionName),读取某个Session对象值,转换为字符串
/// 2、GetsSession(string strSessionName),读取某个Session对象值数组,转换为字符串数组
/// 3、GetSession<T>(string key),获取Session的T对象
/// 4、ClearAllSession(),清除所有Session对象
/// 5、RemoveSession(string strSessionName),删除一个指定的Session对象
/// 6、RemoveAllSession(),删除所有Session对象
/// 7、DeleteSession(string strSessionName),删除某个Session对象,值设置为null
/// 8、SetSession(string strSessionName, object val),从新设置Session对象值
/// 9、AddSession(string strSessionName, string strValue),设置Session值,调动有效期为20分钟
/// 10、AddsSession(string strSessionName, string[] strValues),设置Session值组,调动有效期为20分钟
/// 11、AddSession(string strSessionName, string strValue, int iExpires),设置Session值,调动有效期为iExpires分钟
/// 12、AddsSession(string strSessionName, string[] strValues, int iExpires),设置Session值组,调动有效期为iExpires分钟
/// </summary>
public class SessionHelper
{
    #region 获取Session信息
    /// <summary>
    /// 读取某个Session对象值,转换为字符串
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <returns>Session对象值</returns>
    public static object GetSession(string strSessionName)
    {
        if (HttpContext.Current.Session[strSessionName] == null)
        {
            return null;
        }
        else
        {
            return HttpContext.Current.Session[strSessionName];
        }
    }
    /// <summary>
    /// 读取某个Session对象值数组,转换为字符串数组
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <returns>Session对象值数组</returns>
    public static string[] GetsSession(string strSessionName)
    {
        if (HttpContext.Current.Session[strSessionName] == null)
        {
            return null;
        }
        else
        {
            return (string[])HttpContext.Current.Session[strSessionName];
        }
    }
    /// <summary>
    /// 获取Session的T对象
    /// </summary>
    /// <typeparam name="T">T对象</typeparam>
    /// <param name="key">缓存Key</param>
    /// <returns></returns>
    public static T GetSession<T>(string key)
    {
        object obj = GetSession(key);
        return obj == null ? default(T) : (T)obj;
    }
    #endregion
    #region 清除Session信息
    /// <summary>
    /// 清空所有的Session对象
    /// </summary>
    /// <returns></returns>
    public static void ClearAllSession()
    {
        HttpContext.Current.Session.Clear();
    }
    /// <summary>
    /// 删除一个指定的Session对象
    /// </summary>
    /// <param name="name">Session对象名</param>
    /// <returns></returns>
    public static void RemoveSession(string strSessionName)
    {
        HttpContext.Current.Session.Remove(strSessionName);
    }
    /// <summary>
    /// 删除所有的Session对象
    /// </summary>
    /// <returns></returns>
    public static void RemoveAllSession()
    {
        HttpContext.Current.Session.RemoveAll();
    }
    /// <summary>
    /// 删除某个Session对象,值设置为null
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    public static void DeleteSession(string strSessionName)
    {
        HttpContext.Current.Session[strSessionName] = null;
    }
    #endregion
    #region 设置Session值信息
    /// <summary>
    /// 从新设置Session对象值
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <param name="SessionVal">Session值</param>
    public static void SetSession(string strSessionName, object SessionVal)
    {
        HttpContext.Current.Session.Remove(strSessionName);
        HttpContext.Current.Session.Add(strSessionName, SessionVal);
    }
    /// <summary>
    /// 设置Session值,调动有效期为20分钟
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <param name="strValue">Session值</param>
    public static void AddSession(string strSessionName, string strValue)
    {
        HttpContext.Current.Session[strSessionName] = strValue;
        HttpContext.Current.Session.Timeout = 20;
    }
    /// <summary>
    /// 设置Session值组,调动有效期为20分钟
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <param name="strValues">Session值数组</param>
    public static void AddsSession(string strSessionName, string[] strValues)
    {
        HttpContext.Current.Session[strSessionName] = strValues;
        HttpContext.Current.Session.Timeout = 20;
    }
    /// <summary>
    /// 设置Session值,调动有效期为iExpires分钟
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <param name="strValue">Session值</param>
    /// <param name="iExpires">调动有效期(分钟)</param>
    public static void AddSession(string strSessionName, string strValue, int iExpires)
    {
        HttpContext.Current.Session[strSessionName] = strValue;
        HttpContext.Current.Session.Timeout = iExpires;
    }
    /// <summary>
    /// 设置Session值组,调动有效期为iExpires分钟
    /// </summary>
    /// <param name="strSessionName">Session对象名</param>
    /// <param name="strValues">Session值数组</param>
    /// <param name="iExpires">调动有效期(分钟)</param>
    public static void AddsSession(string strSessionName, string[] strValues, int iExpires)
    {
        HttpContext.Current.Session[strSessionName] = strValues;
        HttpContext.Current.Session.Timeout = iExpires;
    }
    #endregion
}

以上类库内容来源互联网,站长稍作整理

« 上一篇下一篇 »

评论列表:

1.郑德才博客  2015/6/13 22:57:42 回复该留言
可以!不错

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。