NetCore讀取配置文件


1、添加一個Json配置文件,名稱隨意,這里暫定名稱為xxx.json,配置文件里面添加一個Json對象,例如

{
  "AwardSetting": {
    "ServiceFeeProportion": 0.01,
    "ExtractProportion": 0.09,
    "ExtractReceiveAddress": ""
  }
}

2、添加一個類,名稱要和定義的Json對象定義的一致,例如

namespace Example.Award
{
    public class AwardSetting
    {
        public double ServiceFeeProportion { get; set; }

        public double ExtractProportion { get; set; }

        public string ExtractReceiveAddress { get; set; }
    }
}

3、配置解析類,注意引入Microsoft.Extensions.Options.ConfigurationExtensions包, 注意using的包

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;

namespace FiiiChain.MiningPool.Award.Tools
{
    public class ConfigurationTool
    {
        public T GetAppSettings<T>(string key) where T : class, new()
        {
            IConfiguration config = new ConfigurationBuilder()
            .Add(new JsonConfigurationSource { Path = "xxx.json", ReloadOnChange = true })
            .Build();

            T appconfig = new ServiceCollection()
                .AddOptions()
                .Configure<T>(config.GetSection(key))
                .BuildServiceProvider()
                .GetService<IOptions<T>>()
                .Value;

            return appconfig;
        }
    }
}

4、在調用的地方

ConfigurationTool tool = new ConfigurationTool();
AwardSetting setting = tool.GetAppSettings<AwardSetting>("AwardSetting");

如果不出意外的話setting里面就是你獲取的配置文件的值


免責聲明!

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



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