基于.Netcore MVC实现多数据库兼容的跨平台开发框架开发(二)

开发框架使用的技术

(一)数据表(集合)动态创建及实体映射

开发者可以使用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()

            {

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lintaoshen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值