简介

纸壳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

最新文章

  1. hdu 2069
  2. android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
  3. Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
  4. Java中正则表达式及其常用类Math、Calendar、Date、BigDecimal、BigInterger、System、Rondom的使用
  5. ADF_Controller系列4_通过创建ADF Menu作为页面向导(Part2)
  6. CoreLocation框架的使用---定位,求两地距离
  7. Editplus从下载到使用
  8. CentOS配置VSFTP服务器
  9. strcpy,memcpy,内存块重叠
  10. 取消IDEA中光标“指哪打哪”模式
  11. ios论坛
  12. display: inline-block兼容性写法
  13. PHp连接数据库实现增删改查
  14. 盒子端 CSS 动画性能提升研究
  15. [mysql] MySQL解压缩安装步骤
  16. SonarQube 中文教程 (1)- 简介
  17. H5横向滚动提示
  18. Bomb Game HDU - 3622(二分最小值最大化)
  19. JAVA 第一周学习总结
  20. Asterisk——part 1

热门文章

  1. day3:vcp考试
  2. Linux CentOS6.6 NFS服务的配置与安装
  3. MySQL主从复制备份
  4. Oracle 基础表查询
  5. python编辑excel
  6. BZOJ 1345[BOI]序列问题 - 贪心 + 单调栈
  7. Vue.js 2.0 跨域请求数据
  8. 【附案例】UI交互设计不会做?设计大神带你开启动效灵感之路
  9. msys2 显示git branch
  10. 新电脑的操作系统win10的所有设置问题汇总