Create and register configuration parameters into service collection asp.net core
supposed you have a json file with a specific parameter and you want to fill a class with the specified properties.
and then register this object to the asp.net core service collection
here is an example how to do it.
and then register this object to the asp.net core service collection
here is an example how to do it.
/// Create, bind and register as service the specified configuration parameters
/// </summary>
/// <typeparam name="TConfig">Configuration parameters</typeparam>
/// <param name="services">Collection of service descriptors</param>
/// <param name="configuration">Set of key/value application configuration properties</param>
/// <returns>Instance of configuration parameters</returns>
public static TConfig ConfigureStartupConfig<TConfig>(this IServiceCollection services, IConfiguration configuration) where TConfig : class, new()
{
if (services == null)
{
throw new ArgumentNullException(nameof(services));
}
if (configuration == null)
{
throw new ArgumentNullException(nameof(configuration));
}
//create instance of config
TConfig config = new TConfig();
//bind it to the appropriate section of configuration
configuration.Bind(config);
//and register it as a service
services.AddSingleton(config);
return config;
}
this will do it.
/// </summary>
/// <typeparam name="TConfig">Configuration parameters</typeparam>
/// <param name="services">Collection of service descriptors</param>
/// <param name="configuration">Set of key/value application configuration properties</param>
/// <returns>Instance of configuration parameters</returns>
public static TConfig ConfigureStartupConfig<TConfig>(this IServiceCollection services, IConfiguration configuration) where TConfig : class, new()
{
if (services == null)
{
throw new ArgumentNullException(nameof(services));
}
if (configuration == null)
{
throw new ArgumentNullException(nameof(configuration));
}
//create instance of config
TConfig config = new TConfig();
//bind it to the appropriate section of configuration
configuration.Bind(config);
//and register it as a service
services.AddSingleton(config);
return config;
}
Comments
Post a Comment