Что такое .NET Core способ хранения настроек приложения? - PullRequest
0 голосов
/ 18 мая 2019

Я занимаюсь разработкой кроссплатформенного (win / mac / linux) приложения и собираюсь сохранить состояние своего приложения. Какое ядро ​​.NET Core рекомендует это сделать?

Я перерыл документацию, и самым близким, что я нашел, было это , которое предназначено для Visual Studio / .NET Framework (и я использую VS Code).

Ответы [ 3 ]

0 голосов
/ 19 мая 2019

Существует 3 способа:

  1. ТОЛЬКО для Localhost

Просто сохраните их в вашем appsettings.json или как переменные среды.

Для постановки / производства,

Хранилище ключей Azure

Используя Хранилище ключей Azure и пакет Microsoft.Extensions.Configuration.AzureKeyVault NuGet, вы сможете хранитьконфигурации для ваших проектов наилучшим образом возможной в реальной среде.

Затем вы просто внедряете его,

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
 WebHost.CreateDefaultBuilder(args)
 .ConfigureAppConfiguration((context, config) =>
 {
     var root = config.Build();
     config.AddAzureKeyVault(
        $”https://{root["KeyVault:Vault"]}.vault.azure.net/",
        root[“KeyVault:ClientId”],
        root[“KeyVault:ClientSecret”]);
 })
 .UseStartup<Startup>();

Несмотря на то, что вам все еще нужно хранить эти 3 переменные, в Azure есть Azure.AD для обеспечения доступа только к указанным приложениям.Таким образом, вам нужно зарегистрировать приложение в Azure AD, чтобы это работало.Существуют также ограничительные функции, которые помогут вам в изолированной среде Azure Key Vault.

Существующие хранилища хранилищ

И, наконец, последний, но не менее важный способ - использовать существующие параметры хранилища хранилищ, такие как HashiCorp.Такие библиотеки, как https://github.com/rajanadar/VaultSharp, помогут вам реализовать это быстро и эффективно.Это подходит вам, если вы в основном используете не-Azure провайдера для своих серверов.

0 голосов
/ 20 мая 2019

Вы можете использовать ConfigurationBuilder из пакета Microsoft.Extensions.Configuration nuget

Хотя документы предназначены для ASP Core, вы должны иметь возможность их использоватьв вашем обычном приложении .Net Core.

Создайте settings.json:

{
    "mysetting": "value",
}

и используйте его:

var configuration = new ConfigurationBuilder()
    .AddJsonFile("settings.json")
    .Build();

// get the values from the settings.json
var mySetting = configuration["mysetting"];
Console.WriteLine(mySetting);
0 голосов
/ 18 мая 2019

Как описано здесь , вы можете использовать appsettings.json, который генерируется и упоминается в новом шаблоне проекта в dotnet new команда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...