gpt4 book ai didi

asp.net-core - 通过 API 调用编辑 Asp.Net 核心设置?

转载 作者:行者123 更新时间:2023-12-02 18:08:50 24 4
gpt4 key购买 nike

我们正在构建一个网络应用程序(asp.net core + Angular),并且我们有一些应用程序正常工作所需的设置(例如电子邮件服务器+用户名、mongoDb连接字符串......)。

Web 应用程序将只是一个 Intranet 应用程序,并将由客户部署在多个位置。

我们希望在启动 Web 应用程序时能够有一个向导(有点像所有那些古老的 PHP 网站(类似 wordpress)),它可以初始化服务器配置。

所以我的问题:是否可以通过 API 调用来设置一些配置(这将是持久的)?有点像设置一个要重用的配置文件?

编辑在@ParsaS的帮助下,我成功地编辑了appsettings.json,但在我的program.cs中,我得到了使用我的配置的大部分内容,而不会重新加载这些设置:

MongoDbSettings dbSettings = configuration.GetSection(MongoDbSettings.SECTION_NAME).Get<MongoDbSettings>();
services.AddIdentityMongoDbProvider<User, Role, Guid>(
identityOption => { identityOption.Password.RequiredLength = 8; },
mongoOptions => { mongoOptions.ConnectionString = dbSettings.ConnectionString;});

(这里通常是我要编辑的 dbSettings.ConnectionString)。

有办法重新运行/重新启动吗?

最佳答案

是的,ASP 使用 JSON 文件来存储设置 (appSettings.json),以便您可以在运行时修改该文件例如。

var configFile = _environment.ContentRootFileProvider.GetFileInfo("app.settings.json").PhysicalPath;
var configJson = JsonDocument.Parse(System.IO.File.ReadAllText(configFile));
var doc = configJson.RootElement.Add("key", myData);
System.IO.File.WriteAllText(configFile, doc.RootElement.GetRawText());

public static JsonDocument Add(this JsonElement element, string property, object value)
{
if (element.ValueKind != JsonValueKind.Object)
return null;

var dic = element.GetRawText().Deserialize<Dictionary<string, object>>();
dic[property] = value;
return JsonDocument.Parse(dic.Serialize());
}

查看这些文档以了解如何修改 JSON 对象 Json DocumentJson.net

关于asp.net-core - 通过 API 调用编辑 Asp.Net 核心设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72739212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com