.NET Consul Client provided with eager and lazy appSettings and connectionStrings adapters
License
—
Deps
10
Install Size
—
Vulns
✓ 0
Published
Apr 25, 2025
$ dotnet add package Consul.ConfigurationManager.ApiIt is used for manage of consul instance based on the composite design pattern.
var service = new ConfigurationManager.Api.Manager(
InputData.HostName,
InputData.Port,
InputData.ServiceHostName).AsReadOnly();
var service = new ConfigurationManager.Api.Manager(
InputData.HostName,
InputData.Port,
InputData.ServiceHostName).AsManager();
var isAdded = await service.AddAsync("foo", "bar");
var getValue = await service.GetAsync("foo");
private KeyValuePair<string, string> firstPair = new KeyValuePair<string, string>("AllowedHosts", "*");
private KeyValuePair<string, string> secondPair = new KeyValuePair<string, string>(
"Database",
"Data Source=localhost,1500;Database=DB;Uid=sa;Password=Password_123#; TrustServerCertificate=True");
var service = new Manager(
InputData.HostName,
InputData.Port,
InputData.ServiceHostName)
.AsManager();
var appSettingsFolder = await service.AddFolderAsync(EagerAdapter.AppSettingsName);
await appSettingsFolder.AddAsync(firstPair.Key, firstPair.Value);
var connectionStringFolder = await service.AddFolderAsync(EagerAdapter.ConnectionStringsName);
await connectionStringFolder.AddAsync(secondPair.Key, secondPair.Value);
Adapter is provided as a shell for AppSettings and ConnectionStrings. It is initialized by using already existed read-only client instance.
var manager = new Manager(
InputData.HostName,
InputData.Port,
InputData.ServiceHostName).AsReadOnly();
var lazyAdapter = new LazyAdapter(manager);
var @VALUE = lazyAdapter.AppSettings("KEY");
var manager = new Manager(
InputData.HostName,
InputData.Port,
InputData.ServiceHostName).AsReadOnly();
var eagerAdapter = new EagerAdapter(manager);
var @VALUE = eagerAdapter.AppSettings("KEY");
4.6K