93 lines
3.1 KiB
C#
93 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
using System.Web.Caching;
|
|
|
|
namespace Epost.Common
|
|
{
|
|
public class CacheHelper
|
|
{
|
|
/// <summary>
|
|
/// 创建缓存项的文件
|
|
/// </summary>
|
|
/// <param name="key">缓存Key</param>
|
|
/// <param name="obj">object对象</param>
|
|
public static void Insert(string key, object obj)
|
|
{
|
|
//创建缓存
|
|
//HttpContext.Current.Cache.Insert(key, obj);
|
|
HttpRuntime.Cache.Insert(key, obj);
|
|
}
|
|
/// <summary>
|
|
/// 移除缓存项的文件
|
|
/// </summary>
|
|
/// <param name="key">缓存Key</param>
|
|
public static void Remove(string key)
|
|
{
|
|
//创建缓存
|
|
// HttpContext.Current.Cache.Remove(key);
|
|
HttpRuntime.Cache.Remove(key);
|
|
}
|
|
/// <summary>
|
|
/// 创建缓存项的文件依赖
|
|
/// </summary>
|
|
/// <param name="key">缓存Key</param>
|
|
/// <param name="obj">object对象</param>
|
|
/// <param name="fileName">文件绝对路径</param>
|
|
public static void Insert(string key, object obj, string fileName)
|
|
{
|
|
//创建缓存依赖项
|
|
CacheDependency dep = new CacheDependency(fileName);
|
|
//创建缓存
|
|
// HttpContext.Current.Cache.Insert(key, obj, dep);
|
|
HttpRuntime.Cache.Insert(key, obj, dep);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建缓存项过期
|
|
/// </summary>
|
|
/// <param name="key">缓存Key</param>
|
|
/// <param name="obj">object对象</param>
|
|
/// <param name="expires">过期时间(分钟)</param>
|
|
public static void Insert(string key, object obj, int expires)
|
|
{
|
|
//绝对过期:到了指定时间以后便会失效。
|
|
// HttpContext.Current.Cache.Insert(key, obj, null, DateTime.Now.AddMinutes(expires), System.Web.Caching.Cache.NoSlidingExpiration);
|
|
HttpRuntime.Cache.Insert(key, obj, null, DateTime.Now.AddMinutes(expires), System.Web.Caching.Cache.NoSlidingExpiration);
|
|
//滑动过期:在指定时间内无访问请求便失效。
|
|
//HttpContext.Current.Cache.Insert(key, obj, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, expires, 0));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取缓存对象
|
|
/// </summary>
|
|
/// <param name="key">缓存Key</param>
|
|
/// <returns>object对象</returns>
|
|
public static object Get(string key)
|
|
{
|
|
if (string.IsNullOrEmpty(key))
|
|
{
|
|
return null;
|
|
}
|
|
// return HttpContext.Current.Cache.Get(key);
|
|
return HttpRuntime.Cache.Get(key);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取缓存对象
|
|
/// </summary>
|
|
/// <typeparam name="T">T对象</typeparam>
|
|
/// <param name="key">缓存Key</param>
|
|
/// <returns></returns>
|
|
public static T Get<T>(string key)
|
|
{
|
|
object obj = Get(key);
|
|
return obj == null ? default(T) : (T)obj;
|
|
}
|
|
|
|
}
|
|
}
|