.net core读取appsettings.json配置信息、自定义json文件、自定义xml文件

对于ASP.NET Core的新的配置方式做个学习笔记,和之前版本的ASP.NET有很大的区别了,之前是依赖于System.Configuration和XML配置文件web.config,新的配置系统支持多种格式的配置文件。下面就以json配置一波

1.第一种   依赖注入方式

net core  默认的 appsettings.json配置文件

在控制器中注入IConfiguration接口,系统提供一个IConfiguration的接口, 而且是系统自动注入的服务.

using Microsoft.Extensions.Configuration;//引用
 public class ValuesController : ControllerBase
    {
        private IConfiguration _configuration;
        public ValuesController(IConfiguration configuration)
        {
            _configuration = configuration;
        }
        public IActionResult test()
        {
            string conn=_configuration.GetConnectionString("PictureAddress");//获取ConnectionStrings中的配置
            string Other=_configuration["App:ServerRootAddress"];//获取指定配置
            return Ok(conn);
        }
    }

2.第二种  ConfigurationBuilder

net core  默认的 appsettings.json配置文件与图一一致

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

namespace Public.Helper
{
    public static class ConfigurationHelper
    {
        private static string _connectionString = null;
        private static IConfigurationRoot BuildConfiguration()
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Path.Combine(Directory.GetCurrentDirectory()))
                .AddJsonFile("appsettings.json", optional: false);

            return builder.Build();
        }

        public static string GetConnectionString()
        {
            if (_connectionString == null)
            {
                _connectionString = BuildConfiguration().GetConnectionString("Default");
            }
            return _connectionString;
        }
    }
}

3.第三种   StreamReader

首先在项目中创建json文件    项目右键——添加——新建项——选择json文件

写入自己的配置信息,   特别注意保存时一定要选择utf-8不然读取时会乱码

参考另一篇文章(菜单栏——工具——自定义——切换到命令选项卡——添加命令——类别选择文件——命令选择“高级保存选项”)   保存文件时选择菜单栏的高级保存选项  选择utf-8

解决.net core 读取appsettings.json文件中文乱码的问题_asp_lilu的博客-CSDN博客

 读取

public bool Get是否需要推送信息(string code) {
            string regJson = "";
            using (StreamReader streamReader = new StreamReader(@"Taaaaa.json", Encoding.UTF8))
            {//这个路径默认是读.host解决方案下的文件
                regJson = streamReader.ReadToEnd();
            } 
            T配置主结构 主结构 = JsonConvert.DeserializeObject<T配置主结构>(regJson);//定义了一个相同结构的实体类
            //dynamic 主结构 = JsonConvert.DeserializeObject<dynamic>(regJson);//也可以使用动态对象
            return 主结构.配置信息.Exists(a => a.机构编码 == code);
        }


版权声明:本文为qq_39569480原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。