👨‍💻 niltor    📆 2026-09-29 15:54

创建解决方案

我们提供了两种方式来快速的创建解决方案:

  • 命令行:使用perigon new <name>。
  • 图形化界面创建:使用perigon studio启动面板。

两种方式都提供了交互式操作,帮助你按步骤完成解决方案初始化。本篇主要说明创建时可配置的选项。

选择项目类型

当前提供两种项目类型:

  • Standard: 完整的MVC API + EF Core + Aspire 支持,适合绝大数场景。
  • Light(AOT): 必须AOT支持的情况,使用MinimalAPI + Perigon.Postgres + Aspire.

选择数据库

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

使用其他数据库

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

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

  • 修改 Definition/EntityFramework 中的 ContextBase 或 AppDbFactory,以支持您需要的数据库类型。

数据库连接字符串

使用 Aspire 配置开发环境,无需手动配置连接字符串,Aspire 会自动生成并注入连接字符串。

如果需要连接已存在的数据库,也可以在 AppHost 中定义相关资源。

详细内容请参考通过Aspire配置开发环境。

选择缓存

缓存有三个选项:

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

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

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

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

Tip

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

选择官方模块

创建解决方案时,可以直接选择需要的官方模块。当前工具会先从 Perigon.Modules 仓库读取官方模块清单,再在解决方案创建完成后自动安装到目标服务中。

目前官方模块元数据来自 Perigon.Modules/modules.json,例如:

  • Perigon.SystemMod:用户、角色、菜单、系统配置与日志,以及数据权限范围、权限组和组成员管理。
  • Perigon.CMSMod:文章分类、文章编辑和文章图片上传。
  • Perigon.ResourceMod:环境、分类、资源定义、动态属性、角色授权、个人资源审核和收藏。

各模块的能力边界与安装说明见官方模块。

如果当前网络环境无法访问官方模块清单,创建流程仍可继续,只是这一轮无法直接选择官方模块。

Tip

官方模块本质上仍然是模块包。即使创建时没有选择,也可以在解决方案创建完成后,再使用 perigon module install Perigon.SystemMod <服务名称> 这样的命令补充安装。

消息队列

创建时暂不支持

选择认证方式

默认支持 JWT 认证方式。其他方式需要手动集成。

选择前端框架

目前支持 Angular 项目模板。

默认模块说明

最新模板不再默认包含示例模块,例如 SystemMod。如果你需要这些模块,可以在创建时直接勾选官方模块,或在创建完成后再手动安装。