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;
}
}