|
|
před 1 dnem | |
|---|---|---|
| .. | ||
| Apq.Cfg.Yaml.csproj | před 1 dnem | |
| CfgBuilderExtensions.cs | před 1 týdnem | |
| README.md | před 2 dny | |
| YamlFileCfgSource.cs | před 2 dny | |
YAML 文件配置源扩展包。
仓库地址:https://gitee.com/apq/Apq.Cfg
using Apq.Cfg;
using Apq.Cfg.Yaml;
var cfg = new CfgBuilder()
.AddYaml("config.yaml", level: 0, writeable: true)
.Build();
// 使用配置节访问
var dbSection = cfg.GetSection("Database");
var connStr = dbSection.Get("ConnectionString");
// 枚举子键
foreach (var key in dbSection.GetChildKeys())
{
Console.WriteLine($"{key}: {dbSection.Get(key)}");
}
public static CfgBuilder AddYaml(
this CfgBuilder builder,
string path,
int level,
bool writeable = false,
bool optional = true,
bool reloadOnChange = true,
bool isPrimaryWriter = false)
| 参数 | 说明 |
|---|---|
path |
YAML 文件路径 |
level |
配置层级,数值越大优先级越高 |
writeable |
是否可写 |
optional |
文件不存在时是否忽略 |
reloadOnChange |
文件变更时是否自动重载 |
isPrimaryWriter |
是否为默认写入目标 |
AppName: MyApp
Database:
ConnectionString: Server=localhost;Database=mydb
Timeout: 30
Logging:
Level: Information
配置键映射:
AppName -> "AppName"Database.ConnectionString -> "Database:ConnectionString"Logging.Level -> "Logging:Level"MIT License