From 1c3e5bc50d3045d51cb9a9f747d53442b82d9e2c Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 27 十二月 2024 17:50:22 +0800 Subject: [PATCH] 资产修改 --- BLL/PBS.BLL.WE.Core/04-bll/00-core/CALCreateHelper.cs | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/BLL/PBS.BLL.WE.Core/04-bll/00-core/CALCreateHelper.cs b/BLL/PBS.BLL.WE.Core/04-bll/00-core/CALCreateHelper.cs index feefe62..275c719 100644 --- a/BLL/PBS.BLL.WE.Core/04-bll/00-core/CALCreateHelper.cs +++ b/BLL/PBS.BLL.WE.Core/04-bll/00-core/CALCreateHelper.cs @@ -1,4 +1,7 @@ -锘縩amespace PBS.BLL.WE +锘縰sing System.Reflection; +using Yw; + +namespace PBS.BLL.WE { /// <summary> /// CAL杈呭姪绫� @@ -13,10 +16,35 @@ public static T CreateCAL<T>() { var type = Settings.WEParasHelper.WE.CAL.CALType; - return Yw.CALFactory.CreateCAL<T>(type); + return CreateCAL<T>(type); } + public static I CreateCAL<I>(string SourceType = "HttpClient", bool EnableCache = true, int CacheTime = 10) + { + Type typeFromHandle = typeof(I); + string @namespace = typeFromHandle.Namespace; + string name = typeFromHandle.Name; + string name2 = typeFromHandle.Assembly.GetName().Name; + string key = $"Yw.CALFactory-{SourceType}-{name2}-{@namespace}-{name}"; + I val = MemoryCacheHelper.Get<I>(key); + if (val != null) + { + return val; + } + string typeName = $"{@namespace}.{SourceType}.{name.Remove(0, 1)}"; + val = (I)Assembly.Load(name2).CreateInstance(typeName); + if (val == null) + { + return val; + } + if (EnableCache) + { + MemoryCacheHelper.Set(key, val, CacheTime); + } + + return val; + } } -} +} \ No newline at end of file -- Gitblit v1.9.3