1. 程式人生 > 其它 >簡單的Session工具類

簡單的Session工具類

技術標籤:工具類c#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;

namespace Company.Common.Utils
{
    public class SessionHelper
    {
        /// <summary>
        /// 設定Session
        /// </summary>
        /// <typeparam name="T">Session鍵值的型別<peparam>
        /// <param name="key">Session的鍵名</param>
        /// <param name="value">Session的鍵值</param>
        public static void SetSession<T>(string key, T value)
        {
            if (key.Length == 0)
                return;
            HttpContext.Current.Session[key] = value;
            HttpContext.Current.Session.Timeout = 480;//有效期單位為分鐘
        }

        /// <summary>
        /// 設定Session
        /// </summary>
        /// <param name="key">Session的鍵名</param>
        /// <param name="value">Session的鍵值</param>
        public static void SetSession(string key, string value)
        {
            SetSession<string>(key, value);
        }
        /// <summary>
        /// 讀取Session的值
        /// </summary>
        /// <param name="key">Session的鍵名</param>        
        public static string GetSession(string key)
        {
            if (key.Length == 0)
                return string.Empty;
            return HttpContext.Current.Session[key] as string;
        }

        /// <summary>
        /// 讀取Session的值
        /// </summary>
        /// <param name="key">Session的鍵名</param>        
        public static T GetSession<T>(string key)
        {
            if (key.Length == 0)
                return default(T);
            return (T)HttpContext.Current.Session[key];
        }

        /// <summary>
        /// 刪除指定Session
        /// </summary>
        /// <param name="key">Session的鍵名</param>
        public static void RemoveSession(string key)
        {
            if (key.Length == 0)
                return;
            HttpContext.Current.Session.Contents.Remove(key);
        }
    }
}