1. 程式人生 > >ASP.NET CORE 2.0 配置管理

ASP.NET CORE 2.0 配置管理

ner TP 2.0 lin .com info spa namespace aaa

配置管理簡單例子(添加內存配置)

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

技術分享圖片

技術分享圖片

ASP.NET CORE 2.0 配置管理