Table of Contents

Class CfgRootSnapshotExtensions

Namespace
Apq.Cfg.Snapshot
Assembly
Apq.Cfg.dll

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

cfg ICfgRoot

配置根

options ExportOptions

导出选项

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

cfg ICfgRoot

配置根

exporter SnapshotExporter

导出器委托

options ExportOptions

导出选项

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

cfg ICfgRoot

配置根

configure Action<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

cfg ICfgRoot

配置根

maskSensitive bool

是否脱敏敏感值

Returns

IReadOnlyDictionary<string, string>

扁平化的配置字典

ExportSnapshotAsEnv(ICfgRoot, string?, bool)

导出配置快照为环境变量格式

public static string ExportSnapshotAsEnv(this ICfgRoot cfg, string? prefix = null, bool maskSensitive = true)

Parameters

cfg ICfgRoot

配置根

prefix string

环境变量前缀

maskSensitive bool

是否脱敏敏感值

Returns

string

环境变量格式的配置字符串

ExportSnapshotAsJson(ICfgRoot, bool, bool)

导出配置快照为 JSON 字符串

public static string ExportSnapshotAsJson(this ICfgRoot cfg, bool indented = true, bool maskSensitive = true)

Parameters

cfg ICfgRoot

配置根

indented bool

是否缩进格式化

maskSensitive bool

是否脱敏敏感值

Returns

string

JSON 格式的配置字符串

ExportSnapshotAsKeyValue(ICfgRoot, bool)

导出配置快照为键值对格式

public static string ExportSnapshotAsKeyValue(this ICfgRoot cfg, bool maskSensitive = true)

Parameters

cfg ICfgRoot

配置根

maskSensitive bool

是否脱敏敏感值

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

cfg ICfgRoot
exporter SnapshotExporter
stream Stream
options ExportOptions
cancellationToken CancellationToken

Returns

Task

ExportSnapshotAsync(ICfgRoot, Stream, ExportOptions?, CancellationToken)

导出配置快照到流

public static Task ExportSnapshotAsync(this ICfgRoot cfg, Stream stream, ExportOptions? options = null, CancellationToken cancellationToken = default)

Parameters

cfg ICfgRoot

配置根

stream Stream

输出流

options ExportOptions

导出选项

cancellationToken CancellationToken

取消令牌

Returns

Task

ExportSnapshotToFileAsync(ICfgRoot, SnapshotExporter, string, ExportOptions?, CancellationToken)

使用自定义导出器导出配置快照到文件

public static Task ExportSnapshotToFileAsync(this ICfgRoot cfg, SnapshotExporter exporter, string filePath, ExportOptions? options = null, CancellationToken cancellationToken = default)

Parameters

cfg ICfgRoot
exporter SnapshotExporter
filePath string
options ExportOptions
cancellationToken CancellationToken

Returns

Task

ExportSnapshotToFileAsync(ICfgRoot, string, ExportOptions?, CancellationToken)

导出配置快照到文件

public static Task ExportSnapshotToFileAsync(this ICfgRoot cfg, string filePath, ExportOptions? options = null, CancellationToken cancellationToken = default)

Parameters

cfg ICfgRoot

配置根

filePath string

文件路径

options ExportOptions

导出选项

cancellationToken CancellationToken

取消令牌

Returns

Task