Admin.Core/src/platform/ZhonTai.Admin/Services/Cache/CacheService.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.Extensions.DependencyModel;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using ZhonTai.Admin.Core.Attributes;
using ZhonTai.Admin.Core.Configs;
using ZhonTai.DynamicApi;
using ZhonTai.DynamicApi.Attributes;
using ZhonTai.Admin.Core.Consts;
namespace ZhonTai.Admin.Services.Cache;
/// <summary>
/// 缓存服务
/// </summary>
[DynamicApi(Area = AdminConsts.AreaName)]
public class CacheService : BaseService, ICacheService, IDynamicApi
{
public CacheService()
{
}
/// <summary>
/// 查询列表
/// </summary>
/// <returns></returns>
public List<dynamic> GetList()
{
var list = new List<dynamic>();
var appConfig = LazyGetRequiredService<AppConfig>();
Assembly[] assemblies = DependencyContext.Default.RuntimeLibraries
.Where(a => appConfig.AssemblyNames.Contains(a.Name))
.Select(o => Assembly.Load(new AssemblyName(o.Name))).ToArray();
foreach (Assembly assembly in assemblies)
{
var types = assembly.GetExportedTypes().Where(a => a.GetCustomAttribute<ScanCacheKeysAttribute>() != null);
foreach (Type type in types)
{
var fields = type.GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy);
foreach (FieldInfo field in fields)
{
var descriptionAttribute = field.GetCustomAttributes(typeof(DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute;
list.Add(new
{
field.Name,
Value = field.GetRawConstantValue().ToString(),
descriptionAttribute?.Description
});
}
}
}
return list;
后面还有 13 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
