开发框架使用的技术
(一)数据表(集合)动态创建及实体映射
开发者可以使用Excel文件输入新建集合的字段信息,如下图7所示,在Web项目的Resources目录下有一fields.xlsx文件,按新建集合必看表单定义好。
图7 新数据表(集合)字段定义
如上图新建了名为:DynamicTestSheet的实体,其中字段"_id"为必填字段,其它字段根据开发者需要进行输入,其它列信息参见“新建集合必看”表单进行操作,输入完成后,格式化序号和排序值两列,数值长度一列可全部为50。最后,点击保存。
注意:所有单元格输入信息不能为空。生成的数据库集合名称为:gw_dynamictestsheet,规则为:"gw_"+实体类小写。
进入系统配置>集合配置,点击,出现如下图8所示界面:
图8 动态创建实体操作类
创建成功后,可以点击下载动态产生的链接信息,下载下来的文件是一个zip压缩文件,包含了动态生成的代码,解压后,拷贝到解决方案对应目录,确认目录正确,覆盖原有文件,然后重新编译解决方案。
再次进入系统配置>集合配置,按下图9,在集合名中输入gw_dynamictestsheet,点击检索,此时因为还未创建集合所以搜索不到新增的集合,要创建集合,在指定集合类名称中输入DynamicTestSheet,然后点击创建集合按钮。
图9 动态创建数据表(集合)
至此,实体类名为DynamicTestSheet的类创建完成,对应的数据库表单为gw_dynamictestsheet,开发者可以使用自动生成的DynamicTestSheetCollectionHelper.cs进行业务逻辑的开发,使用自动生成的DynamicTestSheetController.cs控制器实现显示层的开发。
(二)本地缓存和分布式缓存
开发框架内置了三种缓存存储方式,分别为Session、MemoryCache和Redis,可通过配置文件appsettings.json中的配置字Cache进行配置,其中使用Session和MemoryCache属于本地缓存方式,Redis为分布式缓存。
如果使用Session则在开发框架中将使用如下3步进行初始化:
1. 引用nuget中的Microsoft.AspNetCore.Session中间件
2. 在ConfigureServices中增加services.AddSession
3. 在Configure中增加app.UseSession
4. 在控制器中通过HttpContext.Session.Set和HttpContext.Session.TryGetValue进行数据的存储和读取
使用MemoryCache进行缓存处理则需要进行如下2步进行初始化:
1. 引用nuget中的Microsoft.Extensions.Caching.Memory
2. 在ConfigureServices中增加services.AddMemoryCache
3. 在控制器中通过HttpContext.Session.Set和HttpContext.Session.TryGetValue进行数据的存储和读取
使用Redis进行分布式存储则如下进行如下2步进行初始化:
1. 引用nuget中的Microsoft.Extensions.Caching.Redis
2. 在ConfigureServices中增加services.AddDistributedRedisCache
3. 在控制器中通过RedisCache.Set和RedisCache.Get进行数据的存储和读取
(三)WebSocket实时通知
开发文档中集成了页面的实时通知功能,使用WebSocket来实现。下面具体描述一下实现步骤。
1. 服务端启用WebSocket
在.netcore中启用WebSocket服务只需要在Startup类中的Configure函数中实现如下代码:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
……
#region 使能WebSocket
var webSocketOptions = new WebSocketOptions()
{