一、添加一个Json配置文件,名称随意,这里暂定名称为xxx.json,配置文件里面添加一个Json对象,例如json
{ "AwardSetting": { "ServiceFeeProportion": 0.01, "ExtractProportion": 0.09, "ExtractReceiveAddress": "" } }
二、添加一个类,名称要和定义的Json对象定义的一致,例如app
namespace Example.Award { public class AwardSetting { public double ServiceFeeProportion { get; set; } public double ExtractProportion { get; set; } public string ExtractReceiveAddress { get; set; } } }
三、配置解析类,注意引入Microsoft.Extensions.Options.ConfigurationExtensions包, 注意using的包ide
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; } } }
四、在调用的地方ui
ConfigurationTool tool = new ConfigurationTool(); AwardSetting setting = tool.GetAppSettings<AwardSetting>("AwardSetting");
若是不出意外的话setting里面就是你获取的配置文件的值spa