# xycn.framework **Repository Path**: feiyumain/xycn.framework ## Basic Information - **Project Name**: xycn.framework - **Description**: No description available - **Primary Language**: C# - **License**: MIT - **Default Branch**: developer - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-04-20 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **xycn-framework框架使用手册** **Ver.0.7** **科技有限公司** **2021-03** ** ** **文件控制** **文件控制** | 拟制 | Mrking | 日期 | 2019-03-09 | |------|--------|------|------------| | 审核 | | 日期 | | | 批准 | | 日期 | | **变更记录** | 日 期 | 作 者 | 版 本 | 更 改 说 明 | |------------|----------|-------|------------------------------------| | | | V0.1 | 原始版本 | | | | V0.2 | 增加数据库基础接口 | | | | V0.3 | 数据库基于Sugar分页 | | 2019-03-14 | Codemain | V0.4 | **添加多表关联查询,详见5.2** | | 2019-12-14 | Mrking | V0.5 | **修改开发环境准备、配置文件内容** | | 2020-01-02 | Codemain | V0.7 | 增加Jwt权限,详见5.1.11 | | | | | | | | | | | ** 目录** [1. 概述 4](#_Toc67833796) [2. 开发环境准备 5](#_Toc67833797) [3. 程序运行 14](#_Toc67833798) [4. 配置文件说明 15](#_Toc67833799) [5. 开发说明 17](#_Toc67833800) > [5.1. Controller插件开发说明 17](#_Toc67833801) > [5.1.1. 创建Controller 17](#_Toc67833802) > [5.1.2. 创建http处理方法 17](#_Toc67833803) > [5.1.3. 输入参数说明 17](#_Toc67833804) > [5.1.4. 返回值的说明 18](#_Toc67833805) > [5.1.5. 属性标签说明 21](#_Toc67833806) > [5.1.6. 继承基类说明 25](#_Toc67833807) > [5.1.7. 文件上传 27](#_Toc67833808) > [5.1.8. 文件下载 29](#_Toc67833809) > [5.1.9. 实例代码 30](#_Toc67833810) > [5.1.10. 注意事项 42](#_Toc67833811) > [5.2. 数据库访问接口插件使用方法说明 42](#_Toc67833812) > [5.2.1. 多表关联 51](#_Toc67833813) > [5.3. 基础工具使用说明 56](#_Toc67833814) > [5.3.1. xycn.common 56](#_Toc67833815) [6. 框架软件包结构说明 56](#_Toc67833816) # 概述 为适应系统灵活扩展,降低开发者技能要求,提升项目开发效率,特此开发本框架。框架结构如下图所示: xycn-framework框架(下称框架)以ASP.NetCore WebAPI(.net 5.0)框架为基础,进行二次封装,为业务开发人员提供基于基础C\#知识即可进行开发的框架。框架封装了跨平台HTTP服务器,对外隐藏了HTTP请求及响应的整个过程,并利用插件技术自动加载业务模块,调用业务模块入口方法,并根据方法返回结果自动生成响应信息。 xycn-framework框架按照约定接口,动态加载ORM、Cache等基础插件模块,为业务模块提供集成的基础功能模块。各个基础插件模块按照约定接口进行实现,使得框架能够灵活加载、替换不同的ORM插件、Cache插件等,以灵活应对不同的业务场景。 开发人员使用本框架,无需了解太深入的WEB开发技术,着重于业务逻辑的实现。开发人员通过建立.net 5基本类库,通过类似ASP.NetCore WEBAPI的APIController的属性标记方式,定义供框架调用的控制器类(Controller),接收框架发送过来的请求数据,使用服务运行支撑模块提供的各个接口,实现业务逻辑,并将操作结果通过定义的控制器类库,返回给框架,自动进行HTTP请求响应。同时,开发人员使用标准的接口,服务运行支撑模块提供的集成工具,当某工具插件替换为同类其他插件时,业务模块不受影响。 为面向微服务架构,xycn-framework以exe形态独立运行(可根据需要修改可执行程序名称),根据配置,动态加载指定的1个或多个业务模块(控制器),并根据加载的业务模块提供业务服务。同时,xycn-framework支持在一台或多台机器上部署若干个框架程序,提供WEB API接口,从而灵活实现集中或分布式部署,后续可自行研发微服务网关或改造框架接入成熟微服务网关,实现完整的微服务架构。如下图所示 # 开发环境准备 开发者启动开发环境(下面以VS 2019为例) #### 创建项目 在创建新项目对话框中,选择类库,如下图所示 ![](media/ca812568d1995d1284ff43bc12aefdf0.png) 录入项目名称等,创建项目(示例代码以E:\\为例) ![](media/974f4f93aa6b1e30cddd02d5292227bd.png) #### 创建选项 在其他信息界面中的目标框架选项中,选择.NET 5.0,点击创建按钮,创建项目。 ![](media/72ca353a8b4c81f0f7f78175035a6b45.png) #### 安装框架 拷贝框架软件包“xycn-framework.v.xxxx.7z”,到项目生成目录(以当前示例项目为例,默认为E:\\TestController\\TestController\\bin\\Debug\\net5.0)进行解压,解压后该生成目录如下图所示: ![](media/e7484547b62f79f7d2c969b8424ee532.png) #### 添加项目依赖 打开项目界面,选择依赖项右键代开,为项目添加框架依赖。需要添加的框架依赖主要是以下两个: 1. **xycn.pluginsupport.dll** 位于为框架运行目录中的utility/xycn.pluginsupport/xycn.pluginsupport.dll 1. **xycn.base.dll** 位于为框架运行目录中的utility/xycn.base/xycn.base.dll ![](media/98039c907c27124e9478804279b4f271.png) ![](media/e653cb9ef17b308898fd0a5c14e32069.png) 添加xycn.pluginsupport.dll依赖 位于为框架运行目录中的utility/xycn.pluginsupport/xycn.pluginsupport.dll ![](media/3b5f0dfa69abbb927cfae47ca76b0a07.png) 添加xycn.base.dll依赖 ![](media/69c622cf848aedec848f08c493000b5c.png) 添加后项目依赖项中将出现如下依赖项 ![](media/489c617aa14b28167e815f5238d564f5.png) #### 运行调试 设置项目属性,将项目的调试选项,指向框架可执行程序,即可运行调试。 ![](media/309b026ca5ebdcd4ffabdbf03508ea98.png) ![](media/b76614c0fabf7b4f48d73dc6a122a86d.png) ![](media/94615fad02a151cd0de90dfc49ced9b7.png) **注:该程序名称可根据需要修改为指定名称,修改后自动加载的配置文件也需要改为同名.xml。如,修改后程序名称为test.exe,则配置文件名称需改为test.exe.xml。** 增加启动程序调试参数,以便显示程序运行界面,查看启动情况 ![](media/8a103bd05c93c1b3ebd72dcf07a35943.png) # 程序运行 通过命令行(cmd)执行命令xycn.framework.exe后,程序开始运行,正常情况不会显示运行界面。执行命令xycn.framework.exe \-d后,显示程序运行界面。界面显示如下信息,标识启动正常 ![](media/b52b8305908d6f0e2bc1dd8f9cea04fd.png) 错误信息说明(后续补充) # 配置文件说明 整个框架和业务模块使用同一个配置文件,配置文件同框架可执行程序同名。 **注:如框架可执行程序名称修改后,配置文件也需要改为同名.xml。如,修改后程序名称为test.exe,则配置文件名称需改为test.exe.xml。** 配置文件说明如下: \ \ \