![](/img/trans.png)
[英]Hot to access appsettings.json from another project in same solution?
[英]How to refer to another key in the same appsettings.json
我想知道是否有一种方法可以在ASP.NET/Core项目的同一appsettings.json中引用另一个键。
在下面的示例中,我想知道是否可以在“ DefaultConnection”中引用“ DBName”键,因为它们共享相同的值:
{“ DBName”:“ MyDbName”,
“ ConnectionStrings”:{“ DefaultConnection”:“服务器=本地主机;端口= 3306;用户=用户名;数据库=” MyDbName“;” }}
不可以。 配置值只是字符串。 它们不会针对变量之类的东西进行解析。 我想您可以通过以下方法解决此问题:
{
"DBName": "MyDbName",
"ConnectionStrings": {
"DefaultConnection": "server=localhost;port=3306;user=username;database={0}"
}
}
然后:
var connectionString = string.Format(Configuration.GetConnectionString("DefaultConnection"), Configuration["DbName"]);
本质上,您在实际的连接字符串值中保留了一个string.Format
占位符,然后通过DbName
配置值手动替换它。
但是,这非常脆弱。 老实说,您一开始就没有这样做。 配置可以被环境覆盖。 因此,如果您需要执行诸如关闭数据库名称之类的操作,那么您可能处于不同的环境中,因此应该通过环境变量或特定于环境的JSON覆盖连接字符串值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.