Skip to content

【代码生成】创建新服务 #36

@niltor

Description

@niltor

目的

如果使用微服务,则用户会创建多个服务。

为了节省用户添加依赖,集成Aspire相关操作所花费的时间,提供创建新服务的功能。

实现方案

  1. 固定内容,配置从现有项目中复制
  2. 需要针对不同服务使用不同数据源的情况进行处理

任务

  • 处理launchSettings.json,使用随机端口。HTTP 端口 5000–5300 的范围,HTTPS 端口是在 7000–7300 的范围。
  • 处理Service.csproj,固定内容?
  • 生成 .http文件,默认添加变量
  • 处理Program.cs,固定内容?
  • 处理appSettings.jsonappSettings.Develpoment.json
  • 处理GlobalUsings.cs

使用场景

如果不同的服务使用不同数据源和不同模型进行操作,现在的ManagerBase似乎没有办法复用。

如业务库中的订单表(Order),存储了订单数据。并会同步到分析库中,分析库中的字段侧重于统计,拥有自己的模型。

可预见的实现方式 :

  1. 定义分析库的相关实体(标记所属模块)
  2. 定义分析库的数据库上下文
  3. 添加新的模块,如订单分析模块
  4. 服务引用该模块

在代码生成时,Manager的生成需要知道使用的是哪个数据库上下文,Controller的生成需要知道生成到哪个服务。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestplanplan or change plan

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions