using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using TakeoutSaaS.Module.Storage.Abstractions; using TakeoutSaaS.Module.Storage.Options; using TakeoutSaaS.Module.Storage.Providers; using TakeoutSaaS.Module.Storage.Services; namespace TakeoutSaaS.Module.Storage.Extensions; /// /// 存储模块服务注册扩展。 /// public static class StorageServiceCollectionExtensions { /// /// 注册存储模块所需的提供商与配置。 /// /// 服务集合。 /// 配置源。 public static IServiceCollection AddStorageModule(this IServiceCollection services, IConfiguration configuration) { services.AddOptions() .Bind(configuration.GetSection("Storage")) .ValidateDataAnnotations() .ValidateOnStart(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); return services; } }