dotnet6读取Configuration

2022-11-08  本文已影响0人  ljt001

appsettings.json

{
  "ConnectionStrings": {
    "mongodb": "mongodb://user:password@demo.mongo:28001,demo.mongo:28002/?slaveOk=true",
    "mongodb-ext": "mongodb://user:password@demo.mongo:28001,demo.mongo:28002/?slaveOk=true"
  },
  "Student": {
    "ID": "1",
    "Name": "tom"
  }
}
var builder = WebApplication.CreateBuilder(args);

// connection string
var connectionString = builder.Configuration.GetConnectionString("mongodb");

// config
var id = builder.Configuration["Student:ID"];
var student = builder.Configuration.GetSection("Student").Get<Student>();

// mongo配置注册
builder.Services.Configure<MongoSessionOption>(options =>
{
    options.ConnectionString = builder.Configuration.GetConnectionString("mongodb");
    options.DbName = "demo";
});

// mongo配置注册
builder.Services.Configure<MongoSessionOption>(options =>
{
    options.ConnectionString = builder.Configuration.GetConnectionString("mongodb-ext");
    options.DbName = "demoExt";
});

// 配置
public class Student
{
  public string ID { get; set; }
  public string Name { get; set; }
}

// mongo配置
public class MongoSessionOption
{
  public string ConnectionString { get; set; }
  public string DbName { get; set; }
}

// mongo配置
public class MongoSessionOptionExt
{
  public string ConnectionString { get; set; }
  public string DbName { get; set; }
}

public class DemoMongoRepo
{
  private readonly MongoSessionOption mongoSessionOption;
  // 构造函数注入mongo配置
  public DemoMongoRepo(IOptions<MongoSessionOption> options)
  {
    mongoSessionOption = options.Value;
  }
}
上一篇下一篇

猜你喜欢

热点阅读