c# - 在 aws eb 上存储 asp.net core 2 的连接字符串
问题描述
我在 aws eb 上部署了 .net core 2 应用程序。我需要 staging、qa 和 prod 服务器,但不知道如何处理连接字符串?是否可以将其存储在 eb 的环境变量中?或者是否可以为这三个实例制作 env 并为每个实例创建不同的 application.json 文件?
解决方案
示例您有这样的 appsetting.json
"WebAppUrl": {
"Staging": "someurl",
"Qa": "someurl",
"Prod": "someurl"
}
我需要定义一个这样的模型类来存储信息
public class WebAppUrl
{
public string Staging { get; set; }
public string Qa { get; set; }
public string Prod { get; set; }
}
所以我们有了配置结构。我们需要的最后一件事是在 Startup.cs 中注册
services.Configure(configuration.GetSection("WebAppUrl"));
所以你可以像这样使用
private readonly IOptions<WebAppUrl> _webAppUrl;
public EmailSender(IOptions<WebAppUrl> _webAppUrl)
{
_webAppUrl = _webAppUrl;
}
_webAppUrl.Value.Staging;
_webAppUrl.Value.Qa;
_webAppUrl.Value.Prod;
好的,这就是 Microsoft 设置多个 appsetting.json文件的方式。你可以看看,因为它有点长
这是我如何使用基于环境的 json 文件进行配置
public Startup(
IConfiguration configuration,
IHostingEnvironment hostingEnvironment)
{
_configuration = configuration;
_hostingEnvironment = hostingEnvironment;
var builder = new ConfigurationBuilder();
if (_hostingEnvironment.IsDevelopment())
{
builder.AddUserSecrets<Startup>();
}
else
{
builder
.SetBasePath(hostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
}
}
推荐阅读
- mongodb - 如何使用 mongo-scala-driver 在查询中复制此 mongodb 正则表达式?
- c - 无法在 lldb 中使用断点和其他功能
- elasticsearch - Elasticsearch Range 大于或字段不存在
- r - 如何在 R 中使用“组”创建分段图表
- android - 如何对齐由 onTouchListener 移动的视图
- python - MongoDB 数据库未从 ThreadPoolExecutor 后台线程更新
- keyboard - 我的稳定器不适合我的 pcb,即使它应该是
- html - 有没有办法改变 Pandoc 在 Markdown 文档中解析 HTML 的方式?
- go - 如何通过 Go 应用在 K8s 中连接 mongodb
- amazon-web-services - AWS Route 53 表示域不存在。NS 已更改并确认。IP 有效,但域名无效