码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET CORE 2.0 配置管理

时间:2018-05-27 19:42:21      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:ring   col   技术分享   bind   read   string   core   void   IV   

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

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 配置管理

标签:ring   col   技术分享   bind   read   string   core   void   IV   

原文地址:https://www.cnblogs.com/lgxlsm/p/9096394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!