Cache/BaseCache.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Data;
using System.Reflection;
using System.Runtime.Caching;
using System.Text.RegularExpressions;
using DataObject.Dele;
using DataObject.Transform;
using DataObject.Param;
namespace DataObject.Cache
{
/// <summary>
/// 缓存基类
/// </summary>
[Serializable]
public class BaseCache<T>
{
/// <summary>
/// 更新操作
/// </summary>
protected static UpdateOperat<T> _operat;
/// <summary>
/// 缓存构造函数
/// </summary>
public BaseCache() { }
/// <summary>
/// 缓存构造函数
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public BaseCache(string key, T value) {
Key = key;
AddCache(value);
}
/// <summary>
/// 添加缓存
/// </summary>
/// <param name="dr">数据对象</param>
public static void AddCache(DataRow dr) {
if (!IsCache) return;
ObjectCache cache = MemoryCache.Default;
if (cache[Key] == null) {
//不存在,加入到缓存
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration = DateTime.Now.AddSeconds(CacheTime);
//设置添加数据
DataTable table = dr.Table.Clone();
table.Rows.Add(dr.ItemArray);
cache.Add(Key, table, policy);
}else{
//存在更新缓存数据
DataTable table = cache[Key] as DataTable;
//获取主键
T t = System.Activator.CreateInstance<T>();
PropertyInfo key = Parameter.GetPrimaryKey(t);
后面还有 174 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。