using System; using System.Collections.Generic; using Abp.Application.Features; using Abp.Auditing; using Abp.BackgroundJobs; using Abp.Dependency; using Abp.Domain.Uow; using Abp.EntityHistory; using Abp.Events.Bus; using Abp.Notifications; using Abp.Resources.Embedded; using Abp.Runtime.Caching.Configuration; namespace Abp.Configuration.Startup { /// /// Used to configure ABP and modules on startup. /// public interface IAbpStartupConfiguration : IDictionaryBasedConfig { /// /// Gets the IOC manager associated with this configuration. /// IIocManager IocManager { get; } /// /// Used to set localization configuration. /// ILocalizationConfiguration Localization { get; } /// /// Used to configure navigation. /// INavigationConfiguration Navigation { get; } /// /// Used to configure . /// IEventBusConfiguration EventBus { get; } /// /// Used to configure auditing. /// IAuditingConfiguration Auditing { get; } /// /// Used to configure caching. /// ICachingConfiguration Caching { get; } /// /// Used to configure multi-tenancy. /// IMultiTenancyConfig MultiTenancy { get; } /// /// Used to configure authorization. /// IAuthorizationConfiguration Authorization { get; } /// /// Used to configure validation. /// IValidationConfiguration Validation { get; } /// /// Used to configure settings. /// ISettingsConfiguration Settings { get; } /// /// Gets/sets default connection string used by ORM module. /// It can be name of a connection string in application's config file or can be full connection string. /// string DefaultNameOrConnectionString { get; set; } /// /// Used to configure modules. /// Modules can write extension methods to to add module specific configurations. /// IModuleConfigurations Modules { get; } /// /// Used to configure unit of work defaults. /// IUnitOfWorkDefaultOptions UnitOfWork { get; } /// /// Used to configure features. /// IFeatureConfiguration Features { get; } /// /// Used to configure background job system. /// IBackgroundJobConfiguration BackgroundJobs { get; } /// /// Used to configure notification system. /// INotificationConfiguration Notifications { get; } /// /// Used to configure embedded resources. /// IEmbeddedResourcesConfiguration EmbeddedResources { get; } /// /// Used to configure entity history. /// IEntityHistoryConfiguration EntityHistory { get; } /// /// Used to replace a service type. /// Given should register an implementation for the . /// /// The type to be replaced. /// Replace action. void ReplaceService(Type type, Action replaceAction); /// /// Gets a configuration object. /// T Get(); IList CustomConfigProviders { get; } Dictionary GetCustomConfig(); } }