小编yıl*_*maz的帖子

.NET Core 通过命令行传递配置部分

在 appsettingsjson 文件中我有:

  "DataSource": {
    "ConnectionString": "mongodb://localhost:27017",
    "DatabaseName": "Root",
    "CollectionName": "ApiLog"
  },
Run Code Online (Sandbox Code Playgroud)

在 Program.cs 中,我得到这样的数据

builder.Services.Configure<DatabaseSettings>(
    builder.Configuration.GetSection("DataSource"));
Run Code Online (Sandbox Code Playgroud)

其中 DatabaseSettings 类是;

    public class DatabaseSettings
    {
        public string ConnectionString { get; set; } = null!;

        public string DatabaseName { get; set; } = null!;

        public string CollectionName { get; set; } = null!;
    }
Run Code Online (Sandbox Code Playgroud)

然后我可以通过依赖注入访问 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 …
Run Code Online (Sandbox Code Playgroud)

.net c# configuration .net-core

5
推荐指数
1
解决办法
969
查看次数

标签 统计

.net ×1

.net-core ×1

c# ×1

configuration ×1