欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

纸壳CMS替换默认实现

程序员文章站 2022-04-23 23:29:29
纸壳CMS在设计上使用的是ASP.Net Core默认的IOC容器,通过依赖注入可以轻松替换掉原来的接口实现。例如在使用纸壳CMS做二次开发的过程中,可能要接入另一系统的用户来作为CMS系统的用户。这种情况下,可以不用修改原来的UserService,而是重新实现一个IUserService,然后用... ......

简介

纸壳cms是一个开源免费的可视化内容管理建站系统,拖拽就可以轻松建网站。

纸壳CMS替换默认实现

github: http://github.com/seriawei/zkeacms

纸壳cms在设计上使用的是asp.net core默认的ioc容器,通过依赖注入可以轻松替换掉原来的接口实现。例如在使用纸壳cms做二次开发的过程中,可能要接入另一系统的用户来作为cms系统的用户。这种情况下,可以不用修改原来的userservice,而是重新实现一个iuserservice,然后用这个新的实现来替换掉旧的userservice

1. 新建一个新的user插件

新建纸壳cms插件很简单,可以参考这篇文章:

2. 新建一个userservice

这个新的userservice需要继承自iuserservice,并对每一个方法做出实现:

public class crmuserservice : easy.modules.user.service.iuserservice
{
        
}

 

3. 依赖注入替换旧的service

在插件的插件类(xxxplug.cs)中,在configureservices注册service的方法中进行注入替换:

public override void configureservices(iservicecollection servicecollection)
{
    servicecollection.replace(new servicedescriptor(typeof(iuserservice), typeof(crmuserservice), servicelifetime.transient));
}

 

这样,当系统中获取iuserservice的实例时,得到的就是新的crmuserservice了。

原文地址: