ASP.NET CORE 2.0 配置管理

配置管理简单例子(添加内存配置)

using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;

namespace ConsoleCore
{
    class Program
    {
        static void Main(string[] args)
        {
            var dic = new Dictionary<string, string>()
            {
                { "name","wolf"},
                 { "age","28"},
            };

            var builder = new ConfigurationBuilder()
                .AddInMemoryCollection(dic);
            var configuration = builder.Build();

            Console.WriteLine($"name:{configuration["name"]}");
            Console.WriteLine($"age:{configuration["age"]}");
            Console.ReadLine();
        }
    }
}

 

Json文件配置

using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;

namespace ConsoleCore
{
    class Program
    {
        static void Main(string[] args)
        {
            var dic = new Dictionary<string, string>()
            {
                { "name","wolf"},
                 { "age","28"},
            };

            var builder = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)
                .AddJsonFile("wolf.json");
            var configuration = builder.Build();
            //key相同后面覆盖前面,还有configuration格式介绍
            Console.WriteLine($"name:{configuration["name"]}");
            Console.WriteLine($"age:{configuration["age"]}");
            Console.WriteLine($"age:{configuration["list:0:name"]}");
            Console.WriteLine($"age:{configuration["list:0:age"]}");
            Console.WriteLine($"age:{configuration["list:1:name"]}");
            Console.WriteLine($"age:{configuration["list:1:age"]}");
            Console.ReadLine();
        }
    }
}
{
  "name": "wolf1",
  "age": 30,
  "list": [
    {
      "name": "wolf2",
      "age": 35
    },
    {
      "name": "wolf3",
      "age": 37
    }
  ]
}

Bind读取配置到C#实例

using ConsoleCore;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;

namespace ConsoleCore
{
    class Program
    {
        static void Main(string[] args)
        {
            var dic = new Dictionary<string, string>()
            {
                { "name","wolf"},
                 { "age","28"},
            };

            var builder = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)
                .AddJsonFile("wolf.json");
            var configuration = builder.Build();
            var aaa = new AAA();
            configuration.Bind(aaa);
            Console.WriteLine($"name:{aaa.list[0].name}");
            Console.WriteLine($"age:{aaa.list[0].age}");
            Console.ReadLine();
        }
    }

    public class AA
    {
        public string name { get; set; }
        public string age { get; set; }
    }

    public class AAA
    {
        public string name { get; set; }
        public string age { get; set; }

        public List<AA> list { get; set; }
    }
}

 在Core MVC内使用Options

 配置热更新

 

在视图中依赖注入Options

猜你喜欢

转载自www.cnblogs.com/lgxlsm/p/9096394.html