1.WebApi能为您做什么?
2.产品介绍(Introduce)
3.WebApi应用场景
4.架构图(Architecture)
5.客户端请求流程(Request)
6.服务端处理流程(Process)
7.命令处理机制(Commands)
8.数据访问层(DAL)
9.安全机制(Security)
10.ORM模型(ORM Model)
11.跨平台服务端
12.WebApi服务器宿主
13.解决方案(VS Solution)
14.压力测试报告(Test Report)
15.开发环境与配置
16.软件著作权登记证书
17.管理员工具
18.软件操作手册
19.官网统一报价

适用开发:快速搭建移动端APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2017+,C#语言,ASP.NET
数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle 11g/MySql 5.7.34)
一、WebApi能为您做什么?
二、产品介绍
三、WebApi应用场景
四、架构图 (Architecture)
CSFramework.WebApi 封装多个通用功能,为搭建Web服务端软件提供强大的技术支持。
客户端请求以命令形式传递到服务端的API接口,命令也就是请求的数据包,包含有请求编号、数据签名以及提交的业务数据。服务端接收到请求,首先要进行数据格式分析以及安全检查,比如数据签名、用户令牌或用户账号信息等。检查通过后,系统自动将请求传递到命令处理处理程序,系统将拒绝非法请求,抛出异常或返回错误回应信息给客户端。
命令处理层即业务逻辑层,主要负责数据校验和提取业务数据,将Request的数据(JSON或XML)文本内容转换为实体对象,最后传递到数据访问层提交到数据库。
数据访问层是整个逻辑处理的最后一个流程,负责将数据模型持久化到数据库。数据层使用开发框架内置的数据更新机制,根据表结构模型自动生成SQL脚本,无论是提交单条或批量数据,无需手工编写SQL脚本,系统自动实现数据的持久化。框架支持其他数据模型,如Entity Framework等。
五、客户端请求流程 (Client Request)
流程说明:
六、服务端处理流程 (Server Process)
流程说明:
七、命令处理机制 (Commands)
命令处理机制是CSFramework.WebApi后端开发框架采用的最新设计模式,本质上命令就是业务逻辑层。Api接口是暴露给客户端访问的端点(Endpoint),假设我们要设计一个含有几百个功能的大型系统,是不是要设计数百个Api接口?用命令模式可以解决这个问题,设计一个通用的接口来处理所有客户端的请求,然后用编号区分具体功能,比如编号80100代表客户订单,80200代表采购订单。服务端接收到请求后,通过命令工厂和编号创建对应的命令实例,对于三层架构来说,就是创建了具体的业务逻辑层。
八、数据访问层(DAL Data Access Layer)
数据访问层(Data Access Layer)分为单表操作数据层和主从表操作数据层,开发人员根据功能区分来选择继承方式。若提交一张资料表,使用dalBaseBusiness基类的功能完全兼容dalBaseDataDict基类的功能。主从表操作数据层实现要复杂一点,比如更新主外键、自动生成流水号、事务处理等。
业务逻辑层(命令)将处理传递到数据访问层,首先根据数据库提供者创建数据库对象实例,因此开发框架支持跨数据库操作。然后通过SQL命令生成器分析ORM模型,自动生成三种SQL脚本(INSERT,UPDATE,DELETE)。最后调用数据库对象(IDatabase)的相关方法提交或获取数据。
九、安全机制 (System Security)
系统安全保障机制由以下九个部分组成:
十、ORM模型(ORM Model)
对象关系映射(Object Relational Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法 。O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。
ORM模型主要作用是传递给SQL命令生成器自动生成三种SQL脚本(INSERT/UPDATE/DELETE),开发人员不需要编写冗余复杂的SQL语句。若使用静态类(Static Class)的ORM模型,属性(字段名)还可以作为常量使用。
十一、跨平台服务端 (Cross Platform Server)
开发框架为用户提供多种数据库支持,目前已封装三种底层数据驱动,支持SqlServer、Oracle、MySql三种常用数据库。Multi-DB架构采用策略模式设计,定义IDatabase通用接口,并实现DatabaseMSSQL, DatabaseMySql,DatabaseOracle三个数据库操作类。引用的类库名称:CSframework.DB.dll。
操作数据库代码示例:
十二、WebApi服务器宿主(Server Hosting)
自承载 (Self Hosting)
IIS承载 (IIS Hosting)
Windows服务承载
十三、解决方案(VS2015 Solution)
CSFramework.WebApi包含三个解决方案:
CSFramework.WebApi.Foundation
CSFramework.WebApi.Demo
十四、压力测试报告(Testing Report)
测试目的:测试CSFramework.WebApi服务器的并发承受能力以及高负荷请求的稳定性。
注:红色字体的用时(s):是指所有异步任务处理数据的耗时时间,并不代表本次测试用的时间。
阿里云服务器监控:
测试完成后查询系统日志:
如下图所示:随着用户请求数量递增,SQL Server数据库服务器占用内存巨大(达到87%),这也是应用程序服务器与数据库服务器必须分开的主要原因。本次压力测试CPU最高峰值不到60%。
如下图所示:本次测试完成后,日志数据库暴增超过7GB,因此建立独立的日志服务器非常必要。
十五、开发环境与配置




十六、软件著作权登记证书

《软件操作手册》