Files
shgxtzcjhoudaosaomadayinwpf/RIZO_Application/RIZO_Application.Infrastructure/AppConfig/AppConfig.cs

45 lines
1.4 KiB
C#

using Microsoft.Extensions.Configuration;
using RIZO_Application.Infrastructure.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace RIZO_Application.Infrastructure.AppConfig
{
public static class AppConfig
{
public static IConfiguration Configuration { get; private set; }
/// <summary>
/// 静态构造函数,非常适合用于初始化
/// </summary>
static AppConfig()
{
//var builder = new ConfigurationBuilder()
// .SetBasePath(Directory.GetCurrentDirectory())
// .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: true);
Configuration = builder.Build();
}
public static T GetSection<T>(string sectionName) where T : class, new()
{
var section = new T();
Configuration.GetSection(sectionName).Bind(section);
return section;
}
}
}