-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Labels
Milestone
Description
目的
如果使用微服务,则用户会创建多个服务。
为了节省用户添加依赖,集成Aspire相关操作所花费的时间,提供创建新服务的功能。
实现方案
- 固定内容,配置从现有项目中复制
- 需要针对不同服务使用不同数据源的情况进行处理
任务
- 处理
launchSettings.json,使用随机端口。HTTP 端口 5000–5300 的范围,HTTPS 端口是在 7000–7300 的范围。 - 处理
Service.csproj,固定内容? - 生成 .http文件,默认添加变量
- 处理
Program.cs,固定内容? - 处理
appSettings.json和appSettings.Develpoment.json - 处理
GlobalUsings.cs
使用场景
如果不同的服务使用不同数据源和不同模型进行操作,现在的ManagerBase似乎没有办法复用。
如业务库中的订单表(Order),存储了订单数据。并会同步到分析库中,分析库中的字段侧重于统计,拥有自己的模型。
可预见的实现方式 :
- 定义分析库的相关实体(标记所属模块)
- 定义分析库的数据库上下文
- 添加新的模块,如订单分析模块
- 服务引用该模块
在代码生成时,Manager的生成需要知道使用的是哪个数据库上下文,Controller的生成需要知道生成到哪个服务。