【愚公系列】2022年06月 .NET架构班 082-微服务专题 Abp vNext微服务框架搭建

举报
愚公搬代码 发表于 2022/06/30 20:21:26 2022/06/30
【摘要】 一、Abp vNext微服务框架搭建 1.创建文件夹创建abp文件夹 2.创建解决方案在abp文件夹中创建解决方案Syzm.Microservices输入命令:abp new Syzm.Microservices -t console -o Syzm.Microservices 3.创建微服务模块进入解决方案文件夹Syzm.Microservices中输入命令:abp new Syzm.B...

一、Abp vNext微服务框架搭建

1.创建文件夹

创建abp文件夹
在这里插入图片描述

2.创建解决方案

在abp文件夹中创建解决方案Syzm.Microservices

输入命令:abp new Syzm.Microservices -t console -o Syzm.Microservices

在这里插入图片描述

3.创建微服务模块

进入解决方案文件夹Syzm.Microservices中

输入命令:abp new Syzm.BaseManager -t module --dbms mysql --no-ui -o moduls\Syzm.BaseManager
在这里插入图片描述

输入命令:abp new Syzm.SaleManager -t module --dbms mysql --no-ui -o moduls\Syzm.SaleManager
在这里插入图片描述

4.创建微服务层

在Syzm.Microservices解决方案文件夹中创建microservices文件夹。

然后在microservices文件夹中引入SaleManager和BaseManager模块中Host项目中
在这里插入图片描述

5.创建微服务聚合层

在Syzm.Microservices解决方案文件夹中创建aggregateservices文件夹
在这里插入图片描述

6.引入微服务模块

  1. 用vs打开Syzm.Microservices项目
  2. 然后创建moduls文件夹
  3. 在moduls中创建BaseManager和SaleManager解决方案文件夹
  4. 然后在Syzm.BaseManager、Syzm.SaleManager解决方案文件夹中引入项目

在这里插入图片描述

7.运行微服务

1、 在Syzm.BaseManager.HttpApi.Host项目中重新项目依赖
在这里插入图片描述

2、然后在Syzm.BaseManager.HttpApi.Host项目中移除项目
在这里插入图片描述

在BaseManagerHttpApiHostModule类中删除引用
在这里插入图片描述

3、在Syzm.BaseManager.HttpApi.Host项目中引入Volo.Abp.EntityFrameworkCore.MySQL

在这里插入图片描述

4、然后在BaseManagerHttpApiHostModule类中修改为
在这里插入图片描述

5、然后在BaseManagerHttpApiHostMigrationsDbContextFactory类中修改为
在这里插入图片描述

6、然后在appsettings.json中修改为
在这里插入图片描述

7、数据库迁移
进入Syzm.BaseManager.HttpApi.Host项目控制台
输入命令:dotnet ef migrations add baseservice 迁移文件如图所示
在这里插入图片描述

​输入命令:dotnet ef database update
在这里插入图片描述

输入命令:dotnet run
在这里插入图片描述

输入地址:https://localhost:44362/swagger/index.html
在这里插入图片描述

8.设置控制器自动生成

在BaseManagerHttpApiHostModule修改

[DependsOn(
    typeof(BaseManagerApplicationModule),
    typeof(BaseManagerEntityFrameworkCoreModule),
    typeof(BaseManagerHttpApiModule),
    typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
    typeof(AbpAutofacModule),
    typeof(AbpCachingStackExchangeRedisModule),
    typeof(AbpEntityFrameworkCoreMySQLModule),
    typeof(AbpTenantManagementEntityFrameworkCoreModule),
    typeof(AbpAspNetCoreSerilogModule),
    typeof(AbpSwashbuckleModule)
    )]
public override void ConfigureServices(ServiceConfigurationContext context)
{
	ConfigureConventionalControllers();
}
private void ConfigureConventionalControllers()
{
    Configure<AbpAspNetCoreMvcOptions>(options =>
    {
        options.ConventionalControllers.Create(typeof(BaseManagerApplicationModule).Assembly, options => {
            options.RootPath = "OrderService";
        });
    });
}

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。