asp.net core基础知识

一、配置管理

1,读取内存配置

using System;
using Microsoft.Extensions.Configuration;
using System.Collections.Generic;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            Dictionary<string, string> dic = new Dictionary<string, string>() {
                { "name","hunter"},
                { "age","10"}
            };

            var builder = new ConfigurationBuilder()
                .AddInMemoryCollection(dic)//当age没有值的时候使用dic里面的值
                .AddCommandLine(args);

            var configuration = builder.Build();

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

            Console.ReadKey();
        }
    }
}
demo

2,读取json文件

using System;
using Microsoft.Extensions.Configuration;
using System.Collections.Generic;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                .AddJsonFile("class.json");

            var configuration = builder.Build();

            Console.WriteLine($"no:{configuration["no"]}");
            Console.WriteLine($"name:{configuration["name"]}");
            Console.WriteLine("student:");
            Console.WriteLine($"no:{configuration["student:0:no"]},name:{configuration["student:0:name"]}");
            Console.WriteLine($"no:{configuration["student:1:no"]},name:{configuration["student:1:name"]}");

            Console.ReadKey();
        }
    }
}
demo
{
  "no": "1",
  "name": "asp.net core",
  "student": [
    {
      "no": "1",
      "name": "张三"
    },
    {
      "no": "2",
      "name": "张三"
    }
  ]
}
class.json

3,读取appsettings.json

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        private IConfiguration _configuration;
        public HomeController(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        public IActionResult Index()
        {
            Class c = new Class();
            _configuration.Bind(c);

            return View();
        }
    }
}
构造注入iconfiguration
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace WebApplication1
{
    public class Class
    {
        public string no { get; set; }
        public string name { get; set; }
        public IEnumerable<student> student { get; set; }
    }

    public class student {
        public string no { get; set; }
        public string name { get; set; }
    }
}
Class类
{
  "no": "1",
  "name": "asp.net core",
  "student": [
    {
      "no": "1",
      "name": "张三"
    },
    {
      "no": "2",
      "name": "张三"
    }
  ]
}
appsettings.json

猜你喜欢

转载自www.cnblogs.com/zd1994/p/8987200.html