CS开发框架核心模型 - 动态加载模块
CS开发框架核心模型 - 动态加载模块
C/S开发框架核心功能之一: 动态加载模块, 所有业务模块完全独立的,框架动态加载而不是静态引用。 模型图如下: 模块加载器(ModuleLoader) ModuleLoader是开发框架的一个类,用于动态加载用户设计的业务模块。 模块加载器支持两种方式: 1. 枚举应用程序目录下所有CSFramework*.DLL文件,将功能集成到主窗体。 2. 根据业务模块配置表(sys_ModuleFiles),动态加载DLL,将功能集成到主窗体。
C# Code: /// <summary> /// 加载模块方法 /// </summary> /// <param name="msg">加载进度</param> /// <param name="moduleMenus">模块的菜单</param> public void LoadModules(IMsg msg, MenuStrip moduleMenus, string searchPattern = "") { //加载Dev组件 ModuleLoadDevComponent loader = new ModuleLoadDevComponent(); //**************************************************************** //开发框架提供两个方案加载业务模块: // //1.从帐套库的sys_ModuleFileList表获取模块文件清单表 //2.枚举程序目录下所有DLL文件 //**************************************************************** if (SystemSettings.Current.ModuleLoadType == ModuleLoadType.ByModuleFileTable) { //1.从帐套库的sys_ModuleFileList表获取模块文件清单表 DataTable fileList = CommonData.GetDataDict(sys_ModuleFileList.__TableName); _Modules = loader.GetModuleList(fileList);//从运行目录中搜索模块文件 } if (SystemSettings.Current.ModuleLoadType == ModuleLoadType.SearchAppDir) { if (String.IsNullOrWhiteSpace(searchPattern)) searchPattern = Globals.DEF_SYS_MODULE; //2.枚举程序目录下所有DLL文件 _Modules = loader.GetModuleList(searchPattern); } if (_Modules == null) throw new CustomException("获取模块清单文件失败!"); //省略代码 } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
关于CS开发框架的ADMIN用户权限 CS开发框架版本介绍(www.csframework.com) CS开发框架V2.2 - 模块支持多个顶级菜单 C#.Net CS开发框架实现多语言(C/S框架网) CS开发框架高级版 标准版 精简版是共用框架核心部分 CS开发框架的客户端可以自动生成吗? CS开发框架核心模型 - 共享主窗体的工具栏(Toolbar) CS开发框架核心模型 - 支持多帐套功能 CS开发框架核心模型 - WebService技术及网络安全 CS开发框架 新增加两个报表模块(报表模板) CS开发框架如何实现快速开发? CS开发框架动态加载模块技术 CS开发框架新增两个报表模块 (源码下载) CS开发框架如何做到源代码的保密和不被第三方窃取呢? CS开发框架获取生成流水号码(单据号码)介绍
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |