using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; namespace ZB.MOM.WW.ScadaBridge.ManagementService; public static class ServiceCollectionExtensions { /// /// Registers the management actor holder and management service options. /// /// The service collection to register into. /// The instance for chaining. public static IServiceCollection AddManagementService(this IServiceCollection services) { services.AddSingleton(); services.AddOptions() .BindConfiguration("ScadaBridge:ManagementService") .ValidateOnStart(); services.TryAddEnumerable( ServiceDescriptor.Singleton, ManagementServiceOptionsValidator>()); return services; } }