Class CfgRootSnapshotExtensions
ICfgRoot 配置快照导出扩展方法
public static class CfgRootSnapshotExtensions
- Inheritance
-
CfgRootSnapshotExtensions
- Inherited Members
Methods
ExportSnapshot(ICfgRoot, ExportOptions?)
导出配置快照为字符串(默认 JSON 格式)
public static string ExportSnapshot(this ICfgRoot cfg, ExportOptions? options = null)
Parameters
cfgICfgRoot配置根
optionsExportOptions导出选项
Returns
- string
导出的配置字符串
Examples
// 导出为 JSON(默认)
var json = cfg.ExportSnapshot();
// 导出时排除敏感配置
var safe = cfg.ExportSnapshot(new ExportOptions
{
ExcludeKeys = new[] { "Secrets:*", "Database:Password" }
});
ExportSnapshot(ICfgRoot, SnapshotExporter, ExportOptions?)
使用自定义导出器导出配置快照
public static string ExportSnapshot(this ICfgRoot cfg, SnapshotExporter exporter, ExportOptions? options = null)
Parameters
cfgICfgRoot配置根
exporterSnapshotExporter导出器委托
optionsExportOptions导出选项
Returns
- string
导出的配置字符串
Examples
// 使用内置导出器
var json = cfg.ExportSnapshot(SnapshotExporters.Json);
var env = cfg.ExportSnapshot(SnapshotExporters.Env);
// 使用自定义导出器
var custom = cfg.ExportSnapshot((data, ctx) => string.Join("\n", data.Select(x => $"{x.Key}={x.Value}")));
ExportSnapshot(ICfgRoot, Action<ExportOptions>)
使用构建器模式配置导出选项
public static string ExportSnapshot(this ICfgRoot cfg, Action<ExportOptions> configure)
Parameters
cfgICfgRoot配置根
configureAction<ExportOptions>配置委托
Returns
- string
导出的配置字符串
Examples
var json = cfg.ExportSnapshot(options =>
{
options.IncludeMetadata = true;
options.ExcludeKeys = new[] { "Secrets:*" };
});
ExportSnapshotAsDictionary(ICfgRoot, bool)
导出配置快照为字典
public static IReadOnlyDictionary<string, string?> ExportSnapshotAsDictionary(this ICfgRoot cfg, bool maskSensitive = true)
Parameters
Returns
- IReadOnlyDictionary<string, string>
扁平化的配置字典
ExportSnapshotAsEnv(ICfgRoot, string?, bool)
导出配置快照为环境变量格式
public static string ExportSnapshotAsEnv(this ICfgRoot cfg, string? prefix = null, bool maskSensitive = true)
Parameters
Returns
- string
环境变量格式的配置字符串
ExportSnapshotAsJson(ICfgRoot, bool, bool)
导出配置快照为 JSON 字符串
public static string ExportSnapshotAsJson(this ICfgRoot cfg, bool indented = true, bool maskSensitive = true)
Parameters
Returns
- string
JSON 格式的配置字符串
ExportSnapshotAsKeyValue(ICfgRoot, bool)
导出配置快照为键值对格式
public static string ExportSnapshotAsKeyValue(this ICfgRoot cfg, bool maskSensitive = true)
Parameters
Returns
- string
键值对格式的配置字符串
ExportSnapshotAsync(ICfgRoot, SnapshotExporter, Stream, ExportOptions?, CancellationToken)
使用自定义导出器导出配置快照到流
public static Task ExportSnapshotAsync(this ICfgRoot cfg, SnapshotExporter exporter, Stream stream, ExportOptions? options = null, CancellationToken cancellationToken = default)
Parameters
cfgICfgRootexporterSnapshotExporterstreamStreamoptionsExportOptionscancellationTokenCancellationToken
Returns
ExportSnapshotAsync(ICfgRoot, Stream, ExportOptions?, CancellationToken)
导出配置快照到流
public static Task ExportSnapshotAsync(this ICfgRoot cfg, Stream stream, ExportOptions? options = null, CancellationToken cancellationToken = default)
Parameters
cfgICfgRoot配置根
streamStream输出流
optionsExportOptions导出选项
cancellationTokenCancellationToken取消令牌
Returns
ExportSnapshotToFileAsync(ICfgRoot, SnapshotExporter, string, ExportOptions?, CancellationToken)
使用自定义导出器导出配置快照到文件
public static Task ExportSnapshotToFileAsync(this ICfgRoot cfg, SnapshotExporter exporter, string filePath, ExportOptions? options = null, CancellationToken cancellationToken = default)
Parameters
cfgICfgRootexporterSnapshotExporterfilePathstringoptionsExportOptionscancellationTokenCancellationToken
Returns
ExportSnapshotToFileAsync(ICfgRoot, string, ExportOptions?, CancellationToken)
导出配置快照到文件
public static Task ExportSnapshotToFileAsync(this ICfgRoot cfg, string filePath, ExportOptions? options = null, CancellationToken cancellationToken = default)
Parameters
cfgICfgRoot配置根
filePathstring文件路径
optionsExportOptions导出选项
cancellationTokenCancellationToken取消令牌