NewLife/NewLife.CMX

升级魔方
大石头 编写于 2022-09-23 16:57:43
共计: 修改5个文件,增加46行、删除32行。
修改 +7 -6
修改 +25 -16
修改 +3 -3
修改 +9 -5
修改 +2 -2
修改 +7 -6
diff --git a/NewLife.CMX.Web/Areas/CMS/Controllers/InfoController.cs b/NewLife.CMX.Web/Areas/CMS/Controllers/InfoController.cs
index f5b1e54..60c4f52 100644
--- a/NewLife.CMX.Web/Areas/CMS/Controllers/InfoController.cs
+++ b/NewLife.CMX.Web/Areas/CMS/Controllers/InfoController.cs
@@ -36,13 +36,14 @@ namespace NewLife.CMX.Web.Controllers
             return Info.Search(modelid, catid, key, p);
         }
 
-        public override ActionResult Add(Info entity)
-        {
-            // 记下添加前的来源页,待会添加成功以后跳转
-            Session["Cube_Add_Referrer"] = Request.Headers["Referer"].FirstOrDefault() + "";
 
-            return base.Add(entity);
-        }
+        //public override ActionResult Add(Info entity)
+        //{
+        //    // 记下添加前的来源页,待会添加成功以后跳转
+        //    Session["Cube_Add_Referrer"] = Request.Headers["Referer"].FirstOrDefault() + "";
+
+        //    return base.Add(entity);
+        //}
 
         public override ViewResult View(String viewName, Object model)
         {
修改 +25 -16
diff --git a/NewLife.CMX.Web/Controllers/ContentController.cs b/NewLife.CMX.Web/Controllers/ContentController.cs
index fdd3f34..cfd3403 100644
--- a/NewLife.CMX.Web/Controllers/ContentController.cs
+++ b/NewLife.CMX.Web/Controllers/ContentController.cs
@@ -2,6 +2,7 @@
 using System.IO;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
+using NewLife.Caching;
 using NewLife.Collections;
 using NewLife.Web;
 using XCode;
@@ -15,31 +16,39 @@ namespace NewLife.CMX.Web.Controllers
 
         static Boolean ViewExists(String vpath) => System.IO.File.Exists(vpath.GetFullPath());
 
-        static DictionaryCache<String, String> _cache = new(StringComparer.OrdinalIgnoreCase);
+        static ICache _cache = new MemoryCache();
         static String GetView(String name, Model model)
         {
             var viewName = $"../{model.Name}/{name}";
 
+            if (_cache.TryGetValue<String>(viewName, out var view)) return view;
+
             // 如果频道模版不存在,则采用模型模版
-            return _cache.GetItem(viewName, k =>
-            {
-                // 模型目录的模版
-                var view = k;
-                var vpath = $"Views/{model.Name}/{name}.cshtml";
-                if (ViewExists(vpath)) return view;
 
+            // 模型目录的模版
+            view = viewName;
+            var vpath = $"Views/{model.Name}/{name}.cshtml";
+            if (!ViewExists(vpath))
+            {
                 // 内容目录的模板
                 view = $"../Content/{name}";
                 vpath = $"Views/Content/{name}.cshtml";
-                if (ViewExists(vpath)) return view;
-
-                // 共享目录的模板
-                view = $"../Shared/{name}";
-                vpath = $"Views/Shared/{name}.cshtml";
-                if (ViewExists(vpath)) return view;
-
-                return null;
-            });
+                if (!ViewExists(vpath))
+                {
+                    // 共享目录的模板
+                    view = $"../Shared/{name}";
+                    vpath = $"Views/Shared/{name}.cshtml";
+                    if (!ViewExists(vpath))
+                    {
+                        view = null;
+                    }
+                }
+
+            }
+
+            _cache.Set(viewName, view, 60);
+
+            return view;
         }
 
         public ActionResult Index()
修改 +3 -3
diff --git a/NewLife.CMX.Web/NewLife.CMX.Web.csproj b/NewLife.CMX.Web/NewLife.CMX.Web.csproj
index cf6b014..c8fab34 100644
--- a/NewLife.CMX.Web/NewLife.CMX.Web.csproj
+++ b/NewLife.CMX.Web/NewLife.CMX.Web.csproj
@@ -26,9 +26,9 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="NewLife.Cube.Core" Version="5.0.2022.401" />
-    <PackageReference Include="NewLife.Stardust" Version="2.0.2022.404" />
-    <PackageReference Include="NewLife.Stardust.Extensions" Version="2.0.2022.404" />
+    <PackageReference Include="NewLife.Cube.Core" Version="5.5.2022.920-beta1504" />
+    <PackageReference Include="NewLife.Stardust" Version="2.3.2022.917-beta1649" />
+    <PackageReference Include="NewLife.Stardust.Extensions" Version="2.3.2022.917-beta1649" />
   </ItemGroup>
 
   <ItemGroup>
修改 +9 -5
diff --git "a/NewLife.CMX/\345\237\272\347\241\200/\345\210\206\347\261\273.Biz.cs" "b/NewLife.CMX/\345\237\272\347\241\200/\345\210\206\347\261\273.Biz.cs"
index 97bdd49..e1e481a 100644
--- "a/NewLife.CMX/\345\237\272\347\241\200/\345\210\206\347\261\273.Biz.cs"
+++ "b/NewLife.CMX/\345\237\272\347\241\200/\345\210\206\347\261\273.Biz.cs"
@@ -10,6 +10,7 @@ using System.ComponentModel;
 using System.Linq;
 using System.Web.Script.Serialization;
 using System.Xml.Serialization;
+using NewLife.Caching;
 using NewLife.Collections;
 using NewLife.Common;
 using NewLife.Data;
@@ -171,17 +172,20 @@ namespace NewLife.CMX
             return GetInfos(pager);
         }
 
-        DictionaryCache<String, IList<Info>> _cache = new DictionaryCache<String, IList<Info>>()
-        {
-            Period = 60,
-        };
+        ICache _cache = Cache.Default;
         /// <summary>获取该分类以及子孙分类的所有有效信息。带60秒异步缓存</summary>
         /// <param name="pager"></param>
         /// <returns></returns>
         public IList<Info> GetInfos(PageParameter pager)
         {
             var key = $"{ID}-{pager.GetKey()}";
-            return _cache.GetItem(key, k => Info.Search(0, ID, null, pager).Cast<Info>().ToList());
+            if (_cache.TryGetValue<IList<Info>>(key, out var list)) return list;
+
+            list = Info.Search(0, ID, null, pager);
+
+            _cache.Set(key, list, 60);
+
+            return list;
         }
         #endregion
 
修改 +2 -2
diff --git a/NewLife.CMX/NewLife.CMX.csproj b/NewLife.CMX/NewLife.CMX.csproj
index 9c38c40..4013e23 100644
--- a/NewLife.CMX/NewLife.CMX.csproj
+++ b/NewLife.CMX/NewLife.CMX.csproj
@@ -44,8 +44,8 @@
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="NewLife.Core" Version="9.0.2022.409-beta1553" />
-    <PackageReference Include="NewLife.XCode" Version="11.0.2022.408-beta0119" />
+    <PackageReference Include="NewLife.Core" Version="10.0.2022.923-beta0329" />
+    <PackageReference Include="NewLife.XCode" Version="11.3.2022.917-beta0640" />
   </ItemGroup>
 
   <ItemGroup>