.net core 存储应用程序设置的.NET核心方式是什么?
我正在开发一个跨平台(win/mac/linux)应用程序,并希望存储我的应用程序状态。.NETCore推荐的方法是什么 我已经翻遍了文档,找到的最接近的东西是,它是针对Visual Studio/.NET Framework的(我使用的是VS代码)。如前所述,您可以使用.net core 存储应用程序设置的.NET核心方式是什么?,.net-core,settings,.net Core,Settings,我正在开发一个跨平台(win/mac/linux)应用程序,并希望存储我的应用程序状态。.NETCore推荐的方法是什么 我已经翻遍了文档,找到的最接近的东西是,它是针对Visual Studio/.NET Framework的(我使用的是VS代码)。如前所述,您可以使用appsettings.json,它是在dotnet new命令的新项目模板中生成和引用的 仅适用于本地主机 只需将它们存储在appsettings.json或作为环境 变量 对于暂存/生产, Azure密钥保险库 通过使用Az
appsettings.json
,它是在dotnet new
命令的新项目模板中生成和引用的
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>();
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((上下文,配置)=>
{
var root=config.Build();
config.AddAzureKeyVault(
$“https://{root[“KeyVault:Vault”]}.Vault.azure.net/”,
根[“KeyVault:ClientId”],
root[“KeyVault:ClientSecret”];
})
.UseStartup();
尽管您仍然必须将这3个变量隐藏在中,但Azure具有Azure AD以强制仅对指定应用程序进行访问。因此,您需要在Azure AD下注册一个应用程序以使其正常工作。还有一些限制性功能将帮助您进一步对Azure密钥库进行沙箱处理
{
"mysetting": "value",
}
并使用它:
var configuration = new ConfigurationBuilder()
.AddJsonFile("settings.json")
.Build();
// get the values from the settings.json
var mySetting = configuration["mysetting"];
Console.WriteLine(mySetting);
您能定义状态的含义吗?我不是在使用ASP.NET,而是在编写一个GUI.NET应用程序-在UI中使用跨平台QML,因为没有任何Windows UI解决方案是跨平台的。您是如何在运行时更改设置然后保存回文件的?