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)
{
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()
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>
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
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>