init lserp cs 5.0

This commit is contained in:
cyf
2026-07-10 15:25:05 +08:00
commit 90f3fda86a
3799 changed files with 976868 additions and 0 deletions
@@ -0,0 +1,54 @@
using System;
using System.Web;
using System.Collections;
using Zhaizj.Framework.Data;
using Zhaizj.Framework.Caching;
namespace Zhaizj.Framework.Caching {
/// <summary>
/// 应用程序范围的缓存(ORM的二级缓存)
/// </summary>
public class ApplicationCache : IApplicationCache {
/// <summary>
/// 从二级缓存中获取值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public Object Get( String key ) {
return SysCache.Get( key );
}
/// <summary>
/// 将对象放入二级缓存,如果缓存中已有此项,则替换
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
public void Put( String key, Object val ) {
SysCache.Put( key, val );
}
/// <summary>
/// 将对象放入缓存,最后一次访问之后的 minutes 分钟内,如果还没有访问,则会过期(弹性过期)
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="minutes"></param>
public void Put( String key, Object val, int minutes ) {
SysCache.PutSliding( key, val, minutes * 60 );
}
/// <summary>
/// 从缓存中移除某项
/// </summary>
/// <param name="key"></param>
public void Remove( String key ) {
SysCache.Remove( key );
}
}
}
@@ -0,0 +1,41 @@
using System;
using Zhaizj.Framework.Data;
using Zhaizj.Framework.DI;
using Zhaizj.Framework.Web;
namespace Zhaizj.Framework.Caching
{
/// <summary>
/// 缓存管理器
/// </summary>
public class CacheManager
{
/// <summary>
/// 获取 ApplicationCache
/// </summary>
/// <returns></returns>
public static IApplicationCache GetApplicationCache()
{
String cfgCache = DbConfig.Instance.ApplicationCacheManager;
if (strUtil.IsNullOrEmpty(cfgCache)) return defaultCache();
if (ObjectContext.Instance.TypeList.ContainsKey(cfgCache) == false) return defaultCache();
return ObjectContext.GetByType(cfgCache) as IApplicationCache;
}
private static IApplicationCache defaultCache()
{
return new ApplicationCache();
}
}
}
@@ -0,0 +1,16 @@
using System;
namespace Zhaizj.Framework.Caching {
public interface IApplicationCache {
object Get( string key );
void Put( string key, object val );
void Put( string key, object val, int minutes );
void Remove( string key );
}
}
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.Caching;
namespace Zhaizj.Framework.Caching {
/// <summary>
/// .net 自带的 InMemory 缓存
/// </summary>
public class SysCache {
/// <summary>
/// 从缓存中获取值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static Object Get( String key ) {
return HttpRuntime.Cache[key];
}
/// <summary>
/// 将对象放入缓存,如果缓存中已有此项,则替换。a)永不过期,b)优先级为 Normal,c)没有缓存依赖项
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
public static void Put( String key, Object val ) {
HttpRuntime.Cache[key] = val;
}
/// <summary>
/// 将对象放入缓存,在参数 seconds 指定的秒数之后过期
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="seconds"></param>
public static void Put( String key, Object val, int seconds ) {
HttpRuntime.Cache.Insert( key, val, null, DateTime.UtcNow.AddSeconds( (double)seconds ), Cache.NoSlidingExpiration );
}
/// <summary>
/// 将对象放入缓存,在最后一次访问之后的 seconds 秒数之后过期(弹性过期)
/// </summary>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="seconds"></param>
public static void PutSliding( String key, Object val, int seconds ) {
HttpRuntime.Cache.Insert( key, val, null, Cache.NoAbsoluteExpiration, new TimeSpan( 0, 0, seconds ) );
}
/// <summary>
/// 从缓存中移除某项
/// </summary>
/// <param name="key"></param>
public static void Remove( String key ) {
if (strUtil.HasText( key )) {
HttpRuntime.Cache.Remove( key );
}
}
}
}