在Asp.Net Core MVC,AppSettings.json中,如何从静态类中获取值

问题描述 投票:0回答:1

我有一个使用 Visual Studio 2022 的新项目,使用 .Net 8.0(核心)使用 asp.net MVC。

在 AppSettings.json 中,我有一个连接字符串。

  "ConnectionStrings": {
    "MyDB": "...connecting...details...."
  }

我可以在控制器中使用依赖注入来读取这个值:

 private IConfiguration _AppSettingsConfig; 

 public PocController(IConfiguration config)
 {
     _AppSettingsConfig = config;
 }

然后使用它

_AppSettingsConfig.GetConnectionString("MyDB")

_AppSettingsConfig["ConnectionStrings:MyDB"];

这是可行的,但是,我想将这 5 行替换为一个包含静态属性的类,该静态属性将环绕此属性并返回 appsettings.json 值。

public class ConfigProps
{
 public static string MyDBConString
 {
     get 
     { 
         return "how do I get from here to the config?";
     }
 }
}

有办法做到这一点吗?

asp.net-mvc asp.net-core
1个回答
0
投票

您仍然可以通过使用ConfigurationBuilder加载json文件并读取它来获取它。

更多详情可以参考以下代码:

public class ConfigProps
{
    private static readonly IConfiguration _config;

    static ConfigProps()
    {
        _config = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .Build();
    }

    public static string MyDBConString
    {
        get
        {
            return _config.GetConnectionString("DefaultConnection");
        }
    }
}

结果:

© www.soinside.com 2019 - 2024. All rights reserved.