using Microsoft.Extensions.Configuration;
namespace Sln.Iot.Config
{
public class AppConfigSetting
{
private static AppConfig? _config;
///
/// 加载配置文件并解析为 AppConfig 对象。
///
public static AppConfig Load()
{
if (_config != null)
return _config; // 已经加载过就直接返回(模拟单例)
var configBuilder = new ConfigurationBuilder()
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
IConfiguration configuration = configBuilder.Build();
_config = configuration.GetSection("AppConfig").Get();
if (_config == null)
{
throw new InvalidOperationException("无法从 appsettings.json 加载 AppConfig 配置。");
}
return _config;
}
}
}