当前位置:首页>产品动态

缓存是用于提升程序性能

作者:admin    时间:2021-07-22 10:25:33
@if (Authorizer.Authorize(PermissionKeys.ManagePage)){    <div class="panel-footer">        <a href="@Url.Action("Create", new {ParentID = "#"})" class="btn btn-link btn-xs">            <i class="glyphicon glyphicon-plus"></i>            @L("添加页面")        </a>        <i class="glyphicon glyphicon-question-sign" style="cursor:help" data-toggle="modal" data-target="#help"></i>    </div>}

翻译

使用@L("")来使用翻译功能

一个自定义组件,可以由多个分组构成,每个分组都有自己的显示模板。组之前可以垂直排列,或者水平删格排列(Bootstrap列),如下图:

缓存是用于提升程序性能的重要手段之一,接下来我们一起来看看如何在在开源CMS(开源CMSCMS)中的缓存机制,以级如何使用缓存。

尝试访问一下 /admin/page,如果可以正常访问,用 admin 登录看看是否有页面。如果不能登录或者登录以后页面树没有显现出页面列表,说明是您的数据库初始化不完整。请重新初始化数据库。

日志文件按天记录,一天一个文件。当异常发生时才会生成文件。异常的信息始终追加到最后,最新的异常信息,在最末尾。

添加好页面之后,接下来就是往页面添加内容了,可以通过以下方式添加页面内容。

2. 安装Microsoft Visual C++ 2015 Redistributable(已安装可跳过)

KEY的组成格式为ClassName@PropertyName,例如产品的标题是:Product@Title

工具栏中显示&ldquo;布局&rdquo;说明该内容块来自布局,修改该内容,会影响所有使用该布局的页面。

名称输入NotFound.cshtml,如果是企业版也可以输入NotFound.liquid,然后输入页面代码后保存即可:

打包好以后,在设计页面,或者在自定义组件的选择模板页面进行上传安装:


开源CMSCMS对服务器的硬件配要求非常低,当然这个跟访问量有关系。开源CMSCMS基于.Net 5性能卓越,使用一个最低配的服务器(512M内存)即可满足一个小中型网站的需求。

namespace 开源CMS.Article.Service{    public class ArticleService : LocalizeService<ArticleEntity>, IArticleService    {        private readonly ILocalize _localize;        public ArticleService(IApplicationContext applicationContext, ILocalize localize, CMSDbContext dbContext)            : base(applicationContext, dbContext)        {            _localize = localize;        }        ...    }}

请视具体情况来确定是否使用LocalizeService<T>,如果业务比较特殊,也可自己做实现,或者重载基类方法。

企业版可以更方便的使用自定义组件,直接在设计页面上添加内容,查看视频演示。

开源CMSCMS企业版支持多语言,并且有一套完整的多语言体系来支持不同语言的响应,开发多语言内容模块也很便捷,接下来跟我们一步一步的让现有内容支持多语言。

ValueOfRuleProvider用于获取&ldquo;WorkContext&rdquo;中的值:

表明以&ldquo;CMS_&rdquo;开头的,为开源CMS的核心表,CMS_Layout,CMS_LayoutHtml,CMS_Media,CMS_Page,CMS_Theme,CMS_WidgetBase,CMS_WidgetTemplate,CMS_Zone。

[HttpPost, ValidateAntiForgeryToken, RenderRefererPage]public IActionResult PostMessage(MessageEntity entity){    if (ModelState.IsValid)    {        entity.Status = (int)RecordStatus.InActive;        var result = _messageService.Add(entity);        ModelState.Merge(result);        if (!result.HasViolation)        {            TempData["Message"] = _localize.Get("Thank You for your submit!");        }    }    return View(entity);}

参考:MessageHandleController.cs

new RouteDescriptor{    RouteName = "pageRoute",    Template = "{*path}",    Defaults = new { controller = "Page", action = "PreView" },    Constraints = new { path = new PageRouteConstraint() },    Priority = -1}

注意:.NET Core版本为 PageController -> Main

开源CMS主题的官方下载地址是在下载好主题以后,请不要尝试使用任何工具打开它。

如果您使用的是发行版本,请确认一下你的.Net版本是不是正确(需.Net 4.0)。如果您使用的是IIS 6,请查看《IIS6.0中布署MVC站点》。

页面中的内容需通过组件添加,不同的组件可以添加不同的内容,从而得到一个完整的,内容丰富的页面。

如果是.Net Core版本,建意不要使用IIS Express而是使用控制台来运行程序,以免插件生成失败。设置使用开源CMS.WebHost来运行程序:

返回顶部