using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using System;
using System.Collections.Generic;
using System.Text;
using TEAMModelOS.SDK.DI;
namespace TEAMModelOS.SDK.DI.Multiple
{
public static class MultipleAzureStorageFactoryExtensions
{
///
/// Storage依赖注入
///
///
///
///
///
public static IServiceCollection AddMultipleAzureStorage(this IServiceCollection services, List<(string name, string connectionString)> connectionInfo)
{
if (services == null) throw new ArgumentNullException(nameof(services));
if (connectionInfo == null) throw new ArgumentNullException(nameof(connectionInfo));
services.TryAddSingleton();
connectionInfo.ForEach(connection =>
{
services.Configure(connection.name, o => { o.Name = connection.name; o.StorageAccountConnectionString = connection.connectionString; });
});
return services;
}
}
}