gpt4 book ai didi

.net-core - IOptions 与 IConfiguration 的用例是什么(IOptions 允许映射到对象除外)?

转载 作者:行者123 更新时间:2023-12-05 04:38:24 30 4
gpt4 key购买 nike

我可以将 IConfiguration 配置注入(inject)构造函数,然后通过 config["settignName"] 从 json 文件访问应用程序设置;

服务类中的示例代码:

public MyService(IConfiguration config)
{
_key = config["MyKey"];
}

我遇到了 IOptions,它允许将应用程序设置从 json 文件映射到 .net 对象。

例子:

public void ConfigureServices(IServiceCollection services)
{
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
...
}

然后将 IOption 注入(inject)到构造函数中。

IOptions 与 IConfiguration 的用例是什么(IOptions 允许映射到对象除外)?我没有看到在线示例中使用了 IConfiguration,所以可以使用还是应该切换到 IOption?

最佳答案

documentation 中所述有时您更喜欢按组或场景拆分设置,使用 IOptions 这真的很容易。

services.Configure<AppSettings1>(configuration.GetSection("AppSettings1"));
services.Configure<AppSettings2>(configuration.GetSection("AppSettings2"));

然后您可以在您的类构造函数中指定您需要哪一个。您可以使用 IConfiguration 获得类似的东西,但您需要编写更多代码。

其他原因,我更喜欢使用属性而不是索引来访问配置值。如果我需要更新配置键,使用索引会更痛苦。

关于.net-core - IOptions 与 IConfiguration 的用例是什么(IOptions 允许映射到对象除外)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70611138/

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