Sample .NET CIL extension: a custom configuration provider
This simple configuration provider gives the minimum CIL settings.
// A simple configuration provider that gives minimum required CIL settings
public class AppConfigProvider : IApplicationConfigurationReader
{
// CIL settings to use.
private readonly Dictionary<string, string> _settings - new Dictionary<string, string>
{
{"discovery-service-uri", "https://HOSTNAME:PORT/discovery.svc"},
{"oauth-enabled", "true"},
{"oauth-client-id", "USER"},
{"oauth-client-secret", "PASSWORD"},
};
public string GetSecureSetting(string settingName, string defaultValue = "")
=> _settings.ContainsKey(settingName) ? _settings[settingName] : defaultValue;
public string GetSecureSettingWithFallback(string settingName, string defaultValue = "")
=> _settings.ContainsKey(settingName) ? _settings[settingName] : defaultValue;
public string GetSecureSettingWithFallback<T>(string settingName, T defaultValue)
=> _settings.ContainsKey(settingName) ? _settings[settingName].Convert<T>(defaultValue) : defaultValue;
public string GetSetting(string settingName, string defaultValue = "")
=> _settings.ContainsKey(settingName) ? _settings[settingName] : defaultValue;
public string GetSetting<T>(string settingName, T defaultValue)
=> _settings.ContainsKey(settingName) ? _settings[settingName].Convert<T>(defaultValue) : defaultValue;
public ConfigurationSection GetSection(string sectionName)
=> null;
}
where:
- HOSTNAME is the name of the host on which the Discovery Service runs
- PORT is the port in which the Discovery Service runs (8082 by default)
- USER is the name of a user who can connect to the Discovery Service (
cduserby default) - PASSWORD is a valid password for USER.