using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using System; using System.Collections.Generic; using System.Text; using TEAMModelOS.SDK.DI; namespace TEAMModelBI.DI { public static class BIAzureServiceBusFactoryExtensions { /// /// Function注入 /// /// /// /// /// /// public static IServiceCollection AddBIAzureServiceBus(this IServiceCollection services, List<(string name, string connectionString)> connectInfos) { if (services == null) throw new ArgumentNullException(nameof(services)); if (connectInfos == null) throw new AccessViolationException(nameof(connectInfos)); services.TryAddSingleton(); //多个注入 connectInfos.ForEach(connect => { services.Configure(connect.name, o => { o.Name = connect.name; o.ServiceBusConnectionString = connect.connectionString; }); }); //services.Configure(name, o => { o.Name = name; o.ServiceBusConnectionString = connectionString; });//单一注入 return services; } } }