private static void RegisterTypes(Container container) { #region Configuration container.RegisterSingleton<IConfigurationProvider, AppSettingsConfigurationProvider>(); #endregion #region Azure container.RegisterFactory<AzureOptions, AzureOptionsFactory>(Lifestyle.Singleton); container.Register<IAzureContainerClient, AzureContainerClient>(); container.Register<IBlobClient, AzureBlobClient>(); container.Register<ITableClient, AzureTableClient>(); container.Register<IQueueClient, AzureQueueClient>(); container.Register<IAzureClient, AzureClient>(); #endregion }
private static void RegisterTypes(Container container) { #region Configuration container.RegisterSingleton<IConfigurationProvider, AppSettingsConfigurationProvider>(); container.RegisterSingleton<IConverter<DynamicTableEntity, AwsOptions>, DynamicAwsOptionsConverter>(); container.RegisterSingleton<IOptionsProvider<AwsOptions[]>, AzureAwsOptionsProvider>(); container.RegisterDecorator<IOptionsProvider<AwsOptions[]>, LazyOptionsProviderAdapter<AwsOptions[]>>(Lifestyle.Singleton); container.RegisterFactory<AwsOptions, RoundrobinAwsOptionsFactory>(Lifestyle.Singleton); #endregion #region Providers container.RegisterSingleton<IDateTimeProvider, UtcDateTimeProvider>(); #endregion #region Scheduler container.RegisterFactory<TaskSchedulerSettings, TaskSchedulerSettingsFactory>(Lifestyle.Singleton); container.RegisterFactory<ITaskScheduler, TaskSchedulerSettings, DelayTaskSchedulerFactory>(Lifestyle.Singleton); container.RegisterSingleton<IScheduler>(Scheduler.Default); container.RegisterSingleton<ITaskScheduler, DelayTaskScheduler>(); #endregion #region Http container.Register<HttpClient>(() => HttpClientFactory.Create()); container.Register<IHttpClient, HttpClientAdapter>(); #endregion #region Azure container.RegisterFactory<AzureOptions, AzureOptionsFactory>(Lifestyle.Singleton); container.Register<IAzureContainerClient, AzureContainerClient>(); container.Register<IBlobClient, AzureBlobClient>(); container.Register<ITableClient, AzureTableClient>(); container.Register<IQueueClient, AzureQueueClient>(); container.Register<IAzureClient, AzureClient>(); container.Register<IConverter<Category, string>, JsonCategoryConverter>(); container.Register<IConverter<string, Product>, JsonProductConverter>(); container.Register<IAzureCategoryProvider, AzureCategoryProvider>(); #endregion #region Amazon container.Register<ITagGenerator, RandomTagGenerator>(); container.Register<IArgumentBuilder, AwsArgumentBuilder>(); container.Register<IPipeline<string>, PercentUrlEncodingPipeline>(); container.Register<IUrlEncoder, PercentUrlEncoder>(); container.Register<IQueryBuilder, EncodedQueryBuilder>(); container.RegisterFactory<System.Security.Cryptography.HashAlgorithm, AwsAlgorithmFactory>(); container.Register<IQuerySigner, AwsQuerySigner>(); container.Register<IUrlBuilder, AwsUrlBuilder>(); container.RegisterFactory<IItemResponse, string, XmlItemResponseFactory>(); container.Register<IPipeline<Product, XElement, SearchCriteria>, ResponseGroupProductPipeline>(Lifestyle.Singleton); container.RegisterFactory<Product, XElement, SearchCriteria, XmlProductFactory>(); container.Register<IFilter<XElement>, PrimaryVariantlItemFilter>(); container.Register<IAwsClient, XmlAwsClient>(); container.Register<IAwsProductProvider, AwsProductProvider>(); #endregion }