.Net8-02-Configuration
.Net8 读取配置文件
1.读取json文件
AppSettings.json 文件 { "Person": { "Name": "杨xx", "Gender": "女", "Age": 20 } } 代码: static void ReadFile1() { /* 使用 icrosoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json */ //1.构造配置对象 ConfigurationBuilder builder = new ConfigurationBuilder(); //添加要读取的文件 builder.AddJsonFile("AppSettings.json"); IConfiguration configuration = builder.Build(); //2. 读取配置信息 string name = configuration["person:name"]; int age = int.Parse(configuration["person:age"]); string gender = configuration["person:gender"]; Console.WriteLine($"name:{name},age:{age},gender:{gender}"); Console.ReadKey(); }
读取 YMl文件
static void ReadFileYMl()
{
/*
使用
Microsoft.Extensions.Configuration.yml
Microsoft.Extensions.Configuration.Json
*/
//1.构造配置对象
ConfigurationBuilder builder = new ConfigurationBuilder();
//添加要读取的文件
builder.AddYamlFile("AppSettings.yaml");
IConfiguration configuration = builder.Build();
//2. 读取配置信息
string name = configuration["person:name"];
int age = int.Parse(configuration["person:age"].ToString());
string gender = configuration["person:gender"];
Console.WriteLine($"name:{name},age:{age},gender:{gender}");
Console.ReadKey();
}
2. 读取json 文件并且绑定到对象
public class Person { public string Name { set; get; } public string Gender { set; get; } public int Age { set; get; } } 代码: static void ReadFile2() { //1.构造配置对象 ConfigurationBuilder builder = new ConfigurationBuilder(); //添加要读取的文件 builder.AddJsonFile("AppSettings.json"); IConfiguration configuration = builder.Build(); //2.使用Microsoft.Extensions.Configuration.Binder 绑定 Person p = new Person(); configuration.GetSection("Person").Bind(p); Console.WriteLine($"name:{p.Name},age:{p.Age},gender:{p.Gender}"); Console.ReadKey(); }
3.读取json 文件并且 绑定IOptions
static void ReadFile3() { //1.构造配置对象 ConfigurationBuilder builder = new ConfigurationBuilder(); //添加要读取的文件 builder.AddJsonFile("AppSettings.json"); IConfiguration configuration = builder.Build(); //2.配置绑定 //使用Microsoft.Extensions.Options.ConfigurationExtension ServiceCollection services = new ServiceCollection(); services.Configure<Person>(configuration.GetSection("Person")); // ServiceProvider serviceProvider = services.BuildServiceProvider(); IOptions<Person> options = serviceProvider.GetRequiredService<IOptions<Person>>(); Person p = options.Value; Console.WriteLine($"name:{p.Name},age:{p.Age},gender:{p.Gender}"); }

浙公网安备 33010602011771号