纸壳CMS替换默认实现
2024-08-21 18:42:19
简介
纸壳CMS是一个开源免费的可视化内容管理建站系统,拖拽就可以轻松建网站。
GitHub: http://github.com/SeriaWei/ZKEACMS
纸壳CMS在设计上使用的是ASP.Net Core默认的IOC容器,通过依赖注入可以轻松替换掉原来的接口实现。例如在使用纸壳CMS做二次开发的过程中,可能要接入另一系统的用户来作为CMS系统的用户。这种情况下,可以不用修改原来的UserService
,而是重新实现一个IUserService,然后用这个新的实现来替换掉旧的UserService
。
1. 新建一个新的User插件
新建纸壳CMS插件很简单,可以参考这篇文章:http://www.zkea.net/codesnippet/detail/zkeacms-plugin-development.html
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
了。
原文地址:http://www.zkea.net/codesnippet/detail/post-179.html
最新文章
- hdu 2069
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
- Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
- Java中正则表达式及其常用类Math、Calendar、Date、BigDecimal、BigInterger、System、Rondom的使用
- ADF_Controller系列4_通过创建ADF Menu作为页面向导(Part2)
- CoreLocation框架的使用---定位,求两地距离
- Editplus从下载到使用
- CentOS配置VSFTP服务器
- strcpy,memcpy,内存块重叠
- 取消IDEA中光标“指哪打哪”模式
- ios论坛
- display: inline-block兼容性写法
- PHp连接数据库实现增删改查
- 盒子端 CSS 动画性能提升研究
- [mysql] MySQL解压缩安装步骤
- SonarQube 中文教程 (1)- 简介
- H5横向滚动提示
- Bomb Game HDU - 3622(二分最小值最大化)
- JAVA 第一周学习总结
- Asterisk——part 1