阿里云Serverless应用引擎SAE,布署asp.net 6.0 web api 连接ECS服务器数据库

1.打开阿里云Serverless应用引擎SAE页面,切换到应用列表,如下图:

2.点击列表中的蓝色应用名称“dc-ship-service”,进入SAE详情页面,如下图:

3.点击上图vSwitch名称 vsw-wz9j5oit4yjs0klv97fty”,进入专有网络->交换机页面,如下图:

4.上图中,点击切换到"公网NAT网关", 如下图:

5.如上图,点击"创建NAT网关",如下图:

6.点击上图的"立即购买",如下图:

7.点击上图的"确认订单",即可跳往资源创建中,创建成功后,如下图:

8.点击上图"返回迭制台",会出现刚刚创建的"公网NAT网关",如下图:

9.点击上图实例ID/名称, 蓝色链接"ngw-wz9spndqmpt1e2v6blgwq",进入下图:

10.看上图,点击"所属路由表"名称,进入下一步,切换到自定义路由条目,看到目标网段"0.0.0.0/0",说明我们Nat网关创建成功,SAE即可访部到外网的任何IP,当然这里可以自己想办法设置白名单IP, 如下图:

11. 我们回到本地vs2022的asp.net 6.0 web api 项目中,如下图:

12. ap.net web 6.0 web api 项目中 Program.cs类主要代码,如下:

using Autofac;

using Autofac.Extensions.DependencyInjection;

using ShipService.Autofac;

using ShipService.Util;

using SqlSugar;

using SqlSugar.IOC;

var builder = WebApplication.CreateBuilder(args);

IConfiguration Configuration = new ConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)

.AddEnvironmentVariables()

.Build();

ConfigureHelper.Init(builder.Configuration);

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())

.ConfigureContainer<ContainerBuilder>(container =>

{

builder.Services.AddModule(container, "ShipService");

});

//SqlSugar for mysql

builder.Services.AddSqlSugar(ConfigureHelper.Get<IocConfig>("MySqlDB"));

//sqlsugar log

builder.Services.ConfigurationSugar(db =>

{

db.CurrentConnectionConfig.InitKeyType = InitKeyType.SystemTable;

});

// Add services to the container.

builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

builder.Services.AddEndpointsApiExplorer();

builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.

//if (app.Environment.IsDevelopment())

//{

app.UseSwagger();

app.UseSwaggerUI();

//}

//app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

12. asp.net web 6.0 web api 项目中,我们采用了sqlsugar ORM 框架连接阿里云数据库,并写相应接口代码读取数据库表的数据,如下图主要代码:

using Microsoft.AspNetCore.Mvc;

using ShipService.Dto;

using ShipService.Services;

namespace ShipService.Controllers

{

[Route("api/[controller]/[action]")]

[ApiController]

public class UserController : ControllerBase

{

private readonly SysUserService _sysUserService;

public UserController(SysUserService sysUserService)

{

_sysUserService = sysUserService;

}

/// <summary>

/// 查询账户信息列表

/// </summary>

[HttpGet]

public IEnumerable<UserDto> List()

{

var result = _sysUserService.AsQueryable().Select(m => new UserDto

{

UserId = m.UserId,

Name = m.Name

}).ToList();

return result;

}

}

}

13.项目相应代码写好后,右击项目中的Dockerfile 弹出菜单点击"生成docker镜像",如下图:

14.生成镜像成功后,打开windows的dos窗体,把镜像推往阿里云的个人镜像库,然后重新发布SAE即可。然后通过SLB的公网IP访问swagger,如下图:

15.如上图中,我们点开User中的/api/User/List接口,该接口是连接ECS服务器数据库,调试接口并读出数据,如下图:

16.以上所述,如看不明白,请给我留言,联系一起讨论。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zqp123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值