.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}");


 }

 

posted @ 2025-05-26 23:33  逆流而下  阅读(120)  评论(0)    收藏  举报