干貨:.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

 

 幫助到你的話請點個推薦,謝謝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM