创建解决方案

我们提供了两种方式来快速的创建解决方案。一种是通过命令创建,使用ater new <name>

另一种是通过图形化界面创建。

两种方式都提供了交互式操作,来帮助用户更好的创建解决方案。本篇内容主要介绍创建时的配置和选项,实际产生的效果。

选择数据库

创建解决方案时,你可以选择SqlserverPostgreSql,这是推荐使用的数据库。

使用其他数据库

要使用其他数据库,你可以选择其他数据库选项,并填写连接字符串。

模板使用EntityFramework Core作为ORM框架,这意味着,你可以使用任何提供EF Core Provider的数据库,但你需要进行一些额外的操作:

  • 修改 ServiceDefaults/FrameworkExtensions.cs 中的ConfigureDbContextOptionsEnrichDbContext方法,以支持你需要的数据库类型。

  • 如果你使用Definition/EntityFramework中的了DbContextFactoryTenantDbContextFactory,那么也需要修改其中的代码以支持你需要的数据库类型。

填写数据库连接字符串

在创建解决方案时,你可以填写数据库连接字符串,也可以在创建完成后, 通过修改appsettings.json配置文件来生效。

如果你不采用读写分离的数据库,则读数据库和写数据库填写相同的连接字符串。

选择缓存

缓存有三个选项:

  • Memory: 仅使用内存缓存,可使用IMemoryCache接口。
  • Redis: 使用支持redis缓存,可使用IDistributedCache接口。
  • Hybrid: 同时支持内存缓存和Redis缓存。

缓存操作统一使用微软的Microsoft.Extensions.Caching.Hybrid库实现,其内部会根据策略调用IMemoryCacheIDistributedCache接口。

框架封装了CacheService服务和简化缓存的操作,建议统一使用该服务。

更多缓存相关的配置,在创建完解决方案后,可以在appsettings.json中进行配置。

Tip

关于HybridCache的内容,请参考微软官方文档

消息队列

暂不支持

选择认证方式

暂时只支持JWT认证方式。

选择模块

你可以在创建解决方案时选择一些基础模块,以作为你应用的一个起点。模块代码可以较好的展示代码实现。

目前你只可以选择以下模块:

  • 订单模块
  • 内容管理模块
  • 客户模块
  • 文件管理模块

后续我们为提供更多模块作为用户应用的起点。

内置模块

内置模块是创建解决方案时就有的模块,包括:

  • CommonMod: 通用共享模块,被其他模块所依赖。
  • SystemMod: 系统模块,提供基础的管理用户、角色、权限等功能。

Note

默认模块,并不是功能完整的模块,它提供了一些基础的代码实现和示例,用户可以在此基础上进行扩展和修改。