gpt4 book ai didi

c# - 未映射强类型配置设置

转载 作者:行者123 更新时间:2023-11-30 16:39:38 24 4
gpt4 key购买 nike

我正在尝试在我的 ASP.NET Core 2.1 应用程序中设置强类型配置设置。

在我的 startup.cs 文件中,我有以下代码:

services.Configure<AzureStorageConfig>(Configuration.GetSection("AzureStorageConfig"));

我的设置类 AzureStorageConfig 如下所示:

public class AzureStorageConfig
{
public string StorageConnectionString { get; internal set; }
}

我的 appSetting.json:

{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"AzureStorageConfig": {
"StorageConnectionString": "UseDevelopmentStorage=true"
}
}

当我运行代码时,我的 AzureStorageConfig.StorageConnectionString 始终为空。

如果我在 startup.cs 文件中设置断点,我可以看到设置在那里:

enter image description here

但是当注入(inject) AzureStorageConfig 时,它是空的。

public class RestaurantService : IRestaurantService
{
private AzureStorageConfig m_Config;

public RestaurantService(IOptions<AzureStorageConfig> config)
{
m_Config = config.Value;
}
}

enter image description here

我想我拥有此处描述的所有内容:https://weblog.west-wind.com/posts/2016/May/23/Strongly-Typed-Configuration-Settings-in-ASPNET-Core

最佳答案

您的 StorageConnectionString 属性有一个 internal setter,但这需要是 public 以便 Binder 在尝试时使用它从您的 Configuration 实例绑定(bind):

public class AzureStorageConfig
{
public string StorageConnectionString { get; set; }
}

关于c# - 未映射强类型配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52766326/

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