src/YL.Utils/Configs/ConfigUtil.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Options;
using System;
using System.IO;
namespace YL.Utils.Configs
{
public class ConfigUtil
{
private static IConfiguration _config;
public static IConfiguration GetConfiguration
{
get
{
if (_config != null) return _config;
var configBuilder =
new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.Add(new JsonConfigurationSource()
{
Path = "appsettings.json",
ReloadOnChange = true,
});
//var builder = new ConfigurationBuilder()
//.SetBasePath(Directory.GetCurrentDirectory())
//.AddJsonFile("appsettings.json");
_config = configBuilder.Build();
return _config;
}
set { _config = value; }
}
public static string GetConnectionString(string key)
{
return GetConfiguration?.GetConnectionString(key);
}
public static IConfigurationSection GetSection(string key)
{
return GetConfiguration?.GetSection(key);
}
public static T GetAppSettings<T>(string key, string configFileName = "appsettings.json", string basePath = "") where T : class, new()
{
//Microsoft.Extensions.Options.ConfigurationExtensions
basePath = string.IsNullOrWhiteSpace(basePath)
? Directory.GetCurrentDirectory()
: Path.Combine(Directory.GetCurrentDirectory(), basePath);
var configuration = new ConfigurationBuilder().SetBasePath(basePath)
.AddJsonFile(configFileName, false, true)
.Build();
var appconfig = new ServiceCollection()
.AddOptions()
.Configure<T>(configuration.GetSection(key))
.BuildServiceProvider()
.GetService<IOptions<T>>()
后面还有 50 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。