Конфигурация зависит от платформы - PullRequest
0 голосов
/ 14 июня 2019

У меня есть веб-приложение .netcore web-приложение, которое я хочу иметь независимым от платформы.В зависимости от развертывания приложения, т.е. docker или aws, я хочу использовать разные методы конфигурации приложения.

Используя секреты docker, я добавляю файлы Json при запуске с помощью пути / запуска / секретов, но какМогу ли я использовать другой метод для настройки секретов AWS с помощью AWS SDK.

Как изменить это на использование диспетчера секретов AWS SDK, если приложение развернуто в AWS,

Спасибо

Примером startup.cs является

    public Startup(IHostingEnvironment env)
    {
        var basePath = (env.EnvironmentName.Equals("Development") ? "c:" : "");

        var builder = new ConfigurationBuilder()
                            .AddJsonFile($"{basePath}/run/secrets/xx1", optional: true)
                            .AddJsonFile($"{basePath}/run/secrets/xx2", optional: true)
                            .AddJsonFile($"{basePath}/run/secrets/xx2", optional: true)
                            .AddJsonFile($"{basePath}/run/secrets/xx4", optional: true);

        Configuration = builder.Build();
    }

1 Ответ

0 голосов
/ 14 июня 2019

Я не уверен, что это то, что вы ищете, но вы можете использовать препроцессор. Вы можете добавлять условные символы компиляции и включать только код, необходимый для конкретной цели. Эти символы можно установить в свойствах вашего проекта на вкладке сборки или в верхней части файла с помощью # define.

Например:

#define aws
using System;

public class Program
{
    public static void Main(string[] args)
    {
#if docker
        Console.WriteLine("Build for docker.");
#endif
#if aws
        Console.WriteLine("Build for aws.");
#endif
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...