我有一个使用 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?";
}
}
}
有办法做到这一点吗?
您仍然可以通过使用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");
}
}
}
结果: