Files
kenaito-conf/kenaito-conf-dotnet-client-demo/Program.cs
T
odboy 82523b9236 feat: 添加多语言客户端 Docker 支持
- 新增 .NET 客户端 SDK 和 demo 项目
- 添加 Go/Node.js/Python/.NET/SpringBoot2 的 Dockerfile
- Go demo 支持从环境变量读取配置
- 创建 README_DOCKERFILE.md 文档说明 Docker 使用方法
- 更新根目录 README.md 标记 .NET 客户端为已支持
2026-06-14 21:07:35 +08:00

53 lines
1.0 KiB
C#

using Kenaito.Conf.Client;
var config = new Config
{
BaseUrl = "http://localhost:8080",
AppName = "kenaito-springboot-demo",
Env = "daily",
Version = "latest",
SyncInterval = 10,
CacheDir = "."
};
var client = new Client(config);
client.OnChange(changed =>
{
Console.WriteLine("Config changed:");
foreach (var kv in changed)
{
Console.WriteLine($" {kv.Key} = {kv.Value}");
}
});
await client.StartAsync();
Console.WriteLine("Current configs:");
foreach (var kv in client.GetAll())
{
Console.WriteLine($" {kv.Key} = {kv.Value}");
}
var dbHost = client.Get("database.host");
Console.WriteLine($"\ndatabase.host = {dbHost}");
Console.WriteLine("\nListening for config changes... (press Ctrl+C to stop)");
var cts = new CancellationTokenSource();
Console.CancelKeyPress += (s, e) =>
{
e.Cancel = true;
cts.Cancel();
};
try
{
await Task.Delay(Timeout.Infinite, cts.Token);
}
catch (TaskCanceledException)
{
}
Console.WriteLine("\nShutting down...");
client.Stop();