干货:.net core实现读取appsettings.json配置文件(建议收藏)

看好多人不懂在.NET CORE中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息。这里我会教大家两种方式:

第一种直接放到通用类库,那里想调往那调。

1.编辑我们的appsettings.json文件

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "ConnectionStrings": {
    "TestConnection": "server=123;User ID=jiyuwu;Password=123456;database=jiyuwu;",
    "Redis": "127.0.0.1:6379"
  },
  "AllowedHosts": "*"
}

 2.通用类库Common添加引用类库Microsoft.Extensions.Configuration.Json并添加AppSettingsHelper.cs

Install-Package Microsoft.Extensions.Configuration.Json -Version 3.0.0

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

namespace Common
{
        public class AppSettingsHelper
        {
            public static IConfiguration Configuration { get; set; }
            static AppSettingsHelper()
            {
                //ReloadOnChange = true 当appsettings.json被修改时重新加载
                Configuration = new ConfigurationBuilder()
                .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
                .Build();
            }

        }
    }

3.调用

string sqlString= AppSettingsHelper.Configuration.GetConnectionString("TestConnection");
string sqlString1 = AppSettingsHelper.Configuration["Logging:LogLevel:Default"];

第二种直接读文件调用。

1.引用类库并读取文件获取配置

Install-Package Microsoft.Extensions.Configuration.Json -Version 3.0.0
public IConfiguration Configuration;
public void TestAppSettings()
        {
            var builder = new ConfigurationBuilder()
               .SetBasePath(Directory.GetCurrentDirectory())
               .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
            Configuration = builder.Build();
            string sqlString2 = Configuration["Logging:LogLevel:Default"];
        }

简单介绍下原理:

我们通过ConfigurationBuilder对象来创建ConfigurationRoot对象,并用其来读取配置。SetBasePath()方法是用来设置我们配置对象需要的配置文件的基础路径,比如我们将基础路径设置为C:\TemplateCore\TemplateCore,那么他读取我们的配置文件appsettings.json的路径将是C:\TemplateCore\TemplateCore\appsettings.json

开源地址:https://github.com/jiyuwu/TemplateCore

测试浏览效果:http://127.0.0.1:1994/home/TestAppSettings

 帮助到你的话请点个推荐,谢谢。

原文地址:https://www.cnblogs.com/jiyuwu/p/11776044.html

时间: 2024-11-29 10:13:37

干货:.net core实现读取appsettings.json配置文件(建议收藏)的相关文章

ASP.NET Core读取appsettings.json配置文件信息

1.在配置文件appsettings.json里新增AppSettings节点 { "Logging": { "LogLevel": { "Default": "Warning" } }, "AppSettings": { "HttpUrl": "http://www.ehongcn.com", "Copyright": "山南远宏科技有

Asp.Net Core 进阶(一) —— 读取appsettings.json

我们以前在Asp.Net MVC中使用 System.Configuration.ConfigurationManager 来读取web.config文件.但是Asp.Net Core MVC已经没有web.config文件了,它的配置信息一般写在appsettings.json当中,那么我们怎么读取该文件呢? 在Asp.Net Core MVC中使用 Microsoft.Extensions.Options.ConfigurationExtensions 包来读取appsettings.jso

.NET Core类库项目中如何读取appsettings.json中的配置

这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions . 1)先看丑陋的方法 比如在 RedisClient 中需要读取 appsettings.json 中的 redis 连接字符串: { "redis": { "ConnectionString": "xxx" } } 需要在 RedisClient 的构造函数参数中添加 IConfigurati

.net core读取appsettings.json配置

官方文档:href 在老版本的ASP.NET里,项目的全局配置一般都存在web.config里的appSettings里,只需要用ConfigurationManager.AppSettings["Foo"]就可以把名为Foo的变量取出来.在ASP.NET Core里,访问配置文件的方式也有了很大变化.但是ASP.NET Core里web.config已经被appsettings.json替换,加上ASP.NET Core里大量用了依赖注入(Dependency Injection),

在Asp.Net Core中关于appsettings.json的快速简便的读取和设置方式

在Asp.Net Core 中,配置信息已从原来Asp.Net的XML格式改为了更为流行的JSON格式,配置文件也由原来的App.config改成了appsettings.json. 那么对于这个appsettings.json中的配置信息的读取,使用最多的是使用与配置对应的实体模型,调用services.Configure<TOptions>()泛型方法载入配置. 这种方式的好处在于,将配置数据载入到对应的实体中后,项目的其它地方都可以使用,常见的是用于Controller中. 其缺点是不快

ASP.NET CORE读取appsettings.json的配置

如何在appsettings.json配置应用程序设置,微软给出的方法:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration 下面是我的做法: 因为我建立的是空项目什么都没有,好多东西都需要新建和引用,新建appsettings.json文件,然后添加一个AppSettings字段,包含配置和值 在Models文件夹下创建一个AppSettingsModel.cs NuGet包管理器引用或者在project

.Net Core 读取 appsettings.json

1. 首先些一个类 public class MySettings { public string P1 { get; set; } public string P2 { get; set; } } 2. 在 appsettings.json 中添加配置项 { "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" }

如何在.Net Core 2.0 App中读取appsettings.json

This is something that strangely doesn’t seem to be that well documented and took me a while to figure out though in the end it’s pretty simple. All that’s required is to add the following NuGet packages and an appsettings.json file. Microsoft.Extens

.net core读取appsettings.config中文乱码问题

发现读取appsettings.json配置文件中的中文在控制台输出的时候显示乱码,而日志组件直接写中文的时候没有问题. 用记事本打开appsettings.json,另存为的时候,编码设置为 “UTF-8”, 原文地址:https://www.cnblogs.com/51net/p/12169843.html