.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號