在 appsettings json 文件中我有:
"DataSource": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "Root",
"CollectionName": "ApiLog"
},
在 Program.cs 中,我得到这样的数据
builder.Services.Configure<DatabaseSettings>(
builder.Configuration.GetSection("DataSource"));
其中 DatabaseSettings 类是;
public class DatabaseSettings
{
public string ConnectionString { get; set; } = null!;
public string DatabaseName { get; set; } = null!;
public string CollectionName { get; set; } = null!;
}
然后我可以通过依赖注入访问 DatabaseSettings 的实例,例如:
public class LogService
{
private readonly IMongoCollection<Log> _collection;
public LogService(
IOptions<DatabaseSettings> databaseSettings)
{
var mongoClient = new MongoClient(
databaseSettings.Value.ConnectionString);
var mongoDatabase = mongoClient.GetDatabase(
databaseSettings.Value.DatabaseName);
_collection = mongoDatabase.GetCollection<ElekseLog>(
databaseSettings.Value.CollectionName);
}
}
问题是我不想将数据库信息存储在 appsettings json 文件中。我想从命令行传递信息而不更改代码。我怎样才能实现这个目标?
您需要通过将“路径元素”与:
并作为键值对传递。例如:
yourapp "DataSource:ConnectionString"="mongodb://localhost:27017"
Or
yourapp --DataSource:ConnectionString=mongodb://localhost:27017
一些信息可以在文档中找到 -命令行配置提供程序.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)