using System; using System.Configuration; namespace Kreta.User.WebApi.Infrastructure { public class ApiKeyConfiguration : ConfigurationSection, IApiKeyConfiguration { static Lazy instance; public static ApiKeyConfiguration Instance { get { return instance.Value; } } [ConfigurationProperty(nameof(ApiKey), IsRequired = true)] public string ApiKey => (string)base[nameof(ApiKey)]; static ApiKeyConfiguration() { instance = new Lazy(() => (ApiKeyConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.ApiKeyConfiguration)); } } }