后端开发
介绍后端开发入门
概述
CMS 2.0 后端当前使用插件形式加载程序模块,每个插件都有自己独立的 AssemblyDynamicContext,不同模块之间的实例引入通过 DI 完成。
要求
- 已安装 CMS2.0,并且掌握 CMS2.0 平台的操作使用
- 有 c# 开发经验
- 有 mysql、sql server 等数据库开发经验
开发
可查看查看《使用模板进行后端开发》文档进行开发!
参考CMS.Plugin.Sample示例代码快速开始
调试
1)设定 CMS.Plugin.Sample 的 Debug 生成路径为[主程序目录]/plugins/[CMS.Plugin.Sample]
2)修改 CMS.Plugin.Sample 项目下 Properties/launchSettings.json:
executablePath: [主程序目录]/host/CMS.Host.exe
workingDirectory: [主程序目录]/host
3)完成,已可使用主程序启动调试
打包
如使用 CMS.Plugin.Sample 插件作为例子, 将 CMS.Plugin.Sample 的编译生成的文件,拷贝到[主程序目录]/plugins/[CMS.Plugin.Sample]即可(如目录不存在则创建)
问题
那些是必须存在或实现的?
PluginEntry 是必须继承实现的,其他都是可以选的,属于 2.0 基础库对外提供的功能扩展,比如实现了 IProjectService 就可以在前端 UI 上控制服务启停。数据库连接“自己创建”和“跟随程序创建”有什么差异?
自己创建可以固定使用某一类型的数据库(如 Mysql),或者使用和主运行库名称不一样的其他数据库名(如“xxxx_project”)。跟随主程序即数据库类型和数据库名和主程序保持一致(如都使用 Mysql 和“xxxxx_runtime”)。大部分情况下选择跟随主程序就可以。后端的“定制数据库”怎么进行迁移?
参考 Demo 中 SampleDbContextMigrator 实现的就是迁移的执行,至于迁移逻辑如何实现是自由的,SampleDbContextMigrator 会在每次加载工程的时候执行,确保相关数据库跟当前代码一致。程序集命名有什么要求?
无要求,2.0 标准模块都是使用 CMS.Plugin.*,二次开发可以参照。
demo 示例
1)数据库操作
2)新建插件
3)数据:如何实现在开发版数据模块显示自定义表格
4)调试入口
5)Excel 导入导出
6)多语言
7)创建后台服务
8)共享插件
9)变量读写
10)变量变化监听
11)创建 webapi 服务
12)等
可联系 SYC 获取 demo 示例!