22using Altinn . Codelists . Kartverket . AdministrativeUnits . Clients ;
33using Microsoft . Extensions . Caching . Memory ;
44using Microsoft . Extensions . DependencyInjection ;
5+ using Microsoft . Extensions . DependencyInjection . Extensions ;
56
67namespace Altinn . Codelists . Kartverket . AdministrativeUnits . Extensions ;
78
@@ -14,16 +15,28 @@ public static class ServiceCollectionExtensions
1415 /// Registers the services required to get support for Kartverkets counties (fylker) and municipalities (kommuner) codelists.
1516 /// </summary>
1617 public static IServiceCollection AddKartverketAdministrativeUnits ( this IServiceCollection services )
18+ {
19+ services . AddKartverketAdministrativeUnitsClient ( ) ;
20+ services . AddTransient < IAppOptionsProvider , CountiesCodelistProvider > ( ) ;
21+ services . AddTransient < IAppOptionsProvider , MunicipalitiesCodelistProvider > ( ) ;
22+
23+ return services ;
24+ }
25+
26+ /// <summary>
27+ /// Registers the client services required to get support for Kartverkets counties (fylker) and municipalities (kommuner) codelists.
28+ /// </summary>
29+ /// <param name="services"></param>
30+ /// <returns></returns>
31+ public static IServiceCollection AddKartverketAdministrativeUnitsClient ( this IServiceCollection services )
1732 {
1833 services . AddMemoryCache ( ) ;
1934 services . AddOptions < AdministrativeUnitsSettings > ( ) ;
2035 services . AddHttpClient ( ) ;
21- services . AddTransient < IAdministrativeUnitsClient > ( sp => new AdministrativeUnitsHttpClientCached (
36+ services . TryAddTransient < IAdministrativeUnitsClient > ( sp => new AdministrativeUnitsHttpClientCached (
2237 ActivatorUtilities . CreateInstance < AdministrativeUnitsHttpClient > ( sp ) ,
2338 sp . GetRequiredService < IMemoryCache > ( )
2439 ) ) ;
25- services . AddTransient < IAppOptionsProvider , CountiesCodelistProvider > ( ) ;
26- services . AddTransient < IAppOptionsProvider , MunicipalitiesCodelistProvider > ( ) ;
2740
2841 return services ;
2942 }
0 commit comments