Browse Source

ServiceConfigurationContext

pull/345/head
Yunus Emre Kalkan 8 years ago
parent
commit
9f053e0ef8
  1. 8
      docs/AspNetCore/Bundling-Minification.md
  2. 6
      docs/Best-Practices/Entity-Framework-Core-Integration.md
  3. 6
      docs/Best-Practices/MongoDB-Integration.md
  4. 22
      docs/Dependency-Injection.md
  5. 4
      docs/Entity-Framework-Core.md
  6. 10
      docs/Getting-Started-AspNetCore-Application.md
  7. 4
      docs/Getting-Started-Console-Application.md
  8. 6
      docs/Localization.md
  9. 12
      docs/Module-Development-Basics.md
  10. 4
      docs/MongoDB.md
  11. 16
      docs/Multi-Tenancy.md
  12. 10
      docs/Virtual-File-System.md
  13. 4
      framework/src/Volo.Abp.ApiVersioning.Abstractions/Volo/Abp/ApiVersioning/AbpApiVersioningAbstractionsModule.cs
  14. 4
      framework/src/Volo.Abp.AspNetCore.Authentication.OAuth/Volo/Abp/AspNetCore/Authentication/OAuth/AbpAspNetCoreAuthenticationOAuthModule.cs
  15. 6
      framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyModule.cs
  16. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/AbpAspNetCoreMvcUiBootstrapModule.cs
  17. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/AbpAspNetCoreMvcUiBundlingModule.cs
  18. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/AbpAspNetCoreMvcUiPackagesModule.cs
  19. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs
  20. 8
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/AbpAspNetCoreMvcUiThemeSharedModule.cs
  21. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/AbpAspNetCoreMvcUiModule.cs
  22. 40
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs
  23. 4
      framework/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs
  24. 10
      framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/AbpAspNetCoreModule.cs
  25. 4
      framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingModule.cs
  26. 14
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationModule.cs
  27. 8
      framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
  28. 10
      framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs
  29. 4
      framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs
  30. 6
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModule.cs
  31. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IAbpModule.cs
  32. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IPostConfigureServices.cs
  33. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IPreConfigureServices.cs
  34. 7
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/ModuleLoader.cs
  35. 6
      framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs
  36. 6
      framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/AbpDddApplicationModule.cs
  37. 4
      framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs
  38. 6
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs
  39. 4
      framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs
  40. 4
      framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/SqlServer/AbpEntityFrameworkCoreSqlServerModule.cs
  41. 12
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreModule.cs
  42. 4
      framework/src/Volo.Abp.EventBus.Distributed.RabbitMQ/Volo/Abp/EventBus/Distributed/RabbitMq/AbpRabbitMqDistributedEventBusModule.cs
  43. 4
      framework/src/Volo.Abp.EventBus.Distributed/Volo/Abp/EventBus/Distributed/AbpDistributedEventBusModule.cs
  44. 8
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs
  45. 4
      framework/src/Volo.Abp.Guids/Volo/Abp/Guids/AbpGuidsModule.cs
  46. 4
      framework/src/Volo.Abp.Http.Abstractions/Volo/Abp/Http/AbpHttpAbstractionsModule.cs
  47. 4
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientModule.cs
  48. 6
      framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpModule.cs
  49. 4
      framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs
  50. 10
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
  51. 6
      framework/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/AbpMemoryDbModule.cs
  52. 6
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs
  53. 6
      framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/AbpMultiTenancyAbstractionsModule.cs
  54. 12
      framework/src/Volo.Abp.ObjectMapping/Volo/Abp/ObjectMapping/AbpObjectMappingModule.cs
  55. 4
      framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs
  56. 12
      framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/AbpSerializationModule.cs
  57. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/AbpSettingsModule.cs
  58. 4
      framework/src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs
  59. 2
      framework/src/Volo.Abp.TestBase/Volo/Abp/AbpTestBaseModule.cs
  60. 6
      framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpThreadingModule.cs
  61. 4
      framework/src/Volo.Abp.Timing/Volo/Abp/Timing/AbpTimingModule.cs
  62. 4
      framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/AbpUiNavigationModule.cs
  63. 8
      framework/src/Volo.Abp.UI/Volo/Abp/Ui/AbpUiModule.cs
  64. 8
      framework/src/Volo.Abp.Uow/Volo/Abp/Uow/AbpUnitOfWorkModule.cs
  65. 8
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
  66. 4
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/AbpVirtualFileSystemModule.cs
  67. 4
      framework/test/SimpleConsoleDemo/Program.cs
  68. 4
      framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/App/AppModule.cs
  69. 18
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs
  70. 4
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo/Abp/AspNetCore/Mvc/UI/Bootstrap/Demo/AbpAspNetCoreMvcUiBootstrapDemoTestModule.cs
  71. 4
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs
  72. 4
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo/Abp/AspNetCore/Mvc/UI/AbpAspNetCoreMvcUiTestModule.cs
  73. 14
      framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs
  74. 14
      framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/AbpAuthorizationTestModule.cs
  75. 4
      framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_ConfigurationValidation_Tests.cs
  76. 6
      framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutofacTestModule.cs
  77. 4
      framework/test/Volo.Abp.Autofac.Tests/Volo/Abp/Autofac/AutofacTestModule.cs
  78. 4
      framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs
  79. 14
      framework/test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/DependencyInjection_Tests.cs
  80. 2
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
  81. 6
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/TestModuleBase.cs
  82. 4
      framework/test/Volo.Abp.Data.Tests/Volo/Abp/Data/ConnectionStringResolver_Tests.cs
  83. 8
      framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/AbpEfCoreTestSecondContextModule.cs
  84. 12
      framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreTestModule.cs
  85. 4
      framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/EventBusTestModule.cs
  86. 10
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs
  87. 6
      framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
  88. 8
      framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/AbpMemoryDbTestModule.cs
  89. 8
      framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs
  90. 4
      framework/test/Volo.Abp.Serialization.Tests/Volo/Abp/Serialization/AbpSerializationTestModule.cs
  91. 4
      framework/test/Volo.Abp.TestApp.Tests/Volo/Abp/TestApp/TestAppTestModule.cs
  92. 6
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs
  93. 4
      framework/test/Volo.Abp.UI.Navigation.Tests/Volo/Abp/Ui/Navigation/MenuManager_Tests.cs
  94. 12
      framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
  95. 2
      framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo/Abp/VirtualFileSystem/DynamicFileProvider_Tests.cs
  96. 4
      framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo/Abp/VirtualFileSystem/VirtualFileProvider_Tests.cs
  97. 18
      modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs
  98. 4
      modules/blogging/app/Volo.BloggingTestApp.EntityFrameworkCore/BloggingTestAppEntityFrameworkCoreModule.cs
  99. 20
      modules/blogging/app/Volo.BloggingTestApp/BloggingTestAppModule.cs
  100. 6
      modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingApplicationContractsModule.cs

8
docs/AspNetCore/Bundling-Minification.md

@ -111,9 +111,9 @@ Example usage:
[DependsOn(typeof(AbpAspNetCoreMvcUiBundlingModule))] [DependsOn(typeof(AbpAspNetCoreMvcUiBundlingModule))]
public class MyWebModule : AbpModule public class MyWebModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<BundlingOptions>(options => context.Services.Configure<BundlingOptions>(options =>
{ {
options options
.ScriptBundles .ScriptBundles
@ -148,9 +148,9 @@ ABP supports [modularity](../Module-Development-Basics.md) for bundling too. A m
[DependsOn(typeof(MyWebModule))] [DependsOn(typeof(MyWebModule))]
public class MyWebExtensionModule : AbpModule public class MyWebExtensionModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<BundlingOptions>(options => context.Services.Configure<BundlingOptions>(options =>
{ {
options options
.ScriptBundles .ScriptBundles

6
docs/Best-Practices/Entity-Framework-Core-Integration.md

@ -196,15 +196,15 @@ protected override IQueryable<IdentityUser> IncludeDetails(IQueryable<IdentityUs
)] )]
public class AbpIdentityEntityFrameworkCoreModule : AbpModule public class AbpIdentityEntityFrameworkCoreModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAbpDbContext<IdentityDbContext>(options => context.Services.AddAbpDbContext<IdentityDbContext>(options =>
{ {
options.AddRepository<IdentityUser, EfCoreIdentityUserRepository>(); options.AddRepository<IdentityUser, EfCoreIdentityUserRepository>();
options.AddRepository<IdentityRole, EfCoreIdentityRoleRepository>(); options.AddRepository<IdentityRole, EfCoreIdentityRoleRepository>();
}); });
services.AddAssemblyOf<AbpIdentityEntityFrameworkCoreModule>(); context.Services.AddAssemblyOf<AbpIdentityEntityFrameworkCoreModule>();
} }
} }
```` ````

6
docs/Best-Practices/MongoDB-Integration.md

@ -185,17 +185,17 @@ public async Task<IdentityUser> FindByNormalizedUserNameAsync(
)] )]
public class AbpIdentityMongoDbModule : AbpModule public class AbpIdentityMongoDbModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
AbpIdentityBsonClassMap.Configure(); AbpIdentityBsonClassMap.Configure();
services.AddMongoDbContext<AbpIdentityMongoDbContext>(options => context.Services.AddMongoDbContext<AbpIdentityMongoDbContext>(options =>
{ {
options.AddRepository<IdentityUser, MongoIdentityUserRepository>(); options.AddRepository<IdentityUser, MongoIdentityUserRepository>();
options.AddRepository<IdentityRole, MongoIdentityRoleRepository>(); options.AddRepository<IdentityRole, MongoIdentityRoleRepository>();
}); });
services.AddAssemblyOf<AbpIdentityMongoDbModule>(); context.Services.AddAssemblyOf<AbpIdentityMongoDbModule>();
} }
} }
``` ```

22
docs/Dependency-Injection.md

@ -9,7 +9,7 @@ Since ABP is a modular framework, every module defines it's services and registe
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//register dependencies here //register dependencies here
} }
@ -23,9 +23,9 @@ ABP introduces conventional service registration. To register all services of a
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<BlogModule>(); context.Services.AddAssemblyOf<BlogModule>();
} }
} }
```` ````
@ -134,16 +134,16 @@ In some cases, you may need to register a service to IServiceCollection manually
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//Add services by convention //Add services by convention
services.AddAssemblyOf<BlogModule>(); context.Services.AddAssemblyOf<BlogModule>();
//Register an instance as singleton //Register an instance as singleton
services.AddSingleton<TaxCalculator>(new TaxCalculator(taxRatio: 0.18)); context.Services.AddSingleton<TaxCalculator>(new TaxCalculator(taxRatio: 0.18));
//Register a factory method that resolves from IServiceProvider //Register a factory method that resolves from IServiceProvider
services.AddScoped<ITaxCalculator>(sp => sp.GetRequiredService<TaxCalculator>()); context.Services.AddScoped<ITaxCalculator>(sp => sp.GetRequiredService<TaxCalculator>());
} }
} }
```` ````
@ -153,16 +153,16 @@ Finally, you may want to add a single class or a few classes by ABP's convention
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//Add single type //Add single type
services.AddType(typeof(TaxCalculator)); context.Services.AddType(typeof(TaxCalculator));
//Add multiple types in once call //Add multiple types in once call
services.AddTypes(typeof(TaxCalculator), typeof(MyOtherService)); context.Services.AddTypes(typeof(TaxCalculator), typeof(MyOtherService));
//Add single type using generic shortcut //Add single type using generic shortcut
services.AddType<TaxCalculator>(); context.Services.AddType<TaxCalculator>();
} }
} }
```` ````

4
docs/Entity-Framework-Core.md

@ -62,9 +62,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpEntityFrameworkCoreModule))] [DependsOn(typeof(AbpEntityFrameworkCoreModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAbpDbContext<MyDbContext>(); context.Services.AddAbpDbContext<MyDbContext>();
//... //...
} }

10
docs/Getting-Started-AspNetCore-Application.md

@ -40,9 +40,9 @@ namespace BasicAspNetCoreApplication
[DependsOn(typeof(AbpAspNetCoreMvcModule))] [DependsOn(typeof(AbpAspNetCoreMvcModule))]
public class AppModule : AbpModule public class AppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AppModule>(); context.Services.AddAssemblyOf<AppModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)
@ -82,11 +82,11 @@ namespace BasicAspNetCoreApplication
{ {
public class Startup public class Startup
{ {
public IServiceProvider ConfigureServices(IServiceCollection services) public IServiceProvider ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddApplication<AppModule>(); context.Services.AddApplication<AppModule>();
return services.BuildServiceProviderFromFactory(); return context.Services.BuildServiceProviderFromFactory();
} }
public void Configure(IApplicationBuilder app) public void Configure(IApplicationBuilder app)

4
docs/Getting-Started-Console-Application.md

@ -28,9 +28,9 @@ namespace AbpConsoleDemo
{ {
public class AppModule : AbpModule public class AppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AppModule>(); context.Services.AddAssemblyOf<AppModule>();
} }
} }
} }

6
docs/Localization.md

@ -44,14 +44,14 @@ Then it should be added using `AbpLocalizationOptions` as shown below:
[DependsOn(typeof(AbpLocalizationModule))] [DependsOn(typeof(AbpLocalizationModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<MyModule>(); options.FileSets.AddEmbedded<MyModule>();
}); });
services.Configure<AbpLocalizationOptions>(options => context.Services.Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources options.Resources
.Add<TestResource>("en") .Add<TestResource>("en")

12
docs/Module-Development-Basics.md

@ -25,7 +25,7 @@ public class BlogModule : AbpModule
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//... //...
} }
@ -37,9 +37,9 @@ You can register dependencies one by one as stated in Microsoft's <a href="https
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<BlogModule>(); context.Services.AddAssemblyOf<BlogModule>();
} }
} }
```` ````
@ -51,12 +51,12 @@ You can also configure other services and modules in this method. Example:
````C# ````C#
public class BlogModule : AbpModule public class BlogModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<BlogModule>(); context.Services.AddAssemblyOf<BlogModule>();
//Configure default connection string for the application //Configure default connection string for the application
services.Configure<DbConnectionOptions>(options => context.Services.Configure<DbConnectionOptions>(options =>
{ {
options.ConnectionStrings.Default = "......"; options.ConnectionStrings.Default = "......";
}); });

4
docs/MongoDB.md

@ -65,9 +65,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpMongoDbModule))] [DependsOn(typeof(AbpMongoDbModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddMongoDbContext<MyDbContext>(); context.Services.AddMongoDbContext<MyDbContext>();
//... //...
} }

16
docs/Multi-Tenancy.md

@ -136,9 +136,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpMultiTenancyModule))] [DependsOn(typeof(AbpMultiTenancyModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<TenantResolveOptions>(options => context.Services.Configure<TenantResolveOptions>(options =>
{ {
options.TenantResolvers.Add(new MyCustomTenantResolver()); options.TenantResolvers.Add(new MyCustomTenantResolver());
}); });
@ -192,9 +192,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpMultiTenancyModule))] [DependsOn(typeof(AbpMultiTenancyModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<ConfigurationTenantStoreOptions>(options => context.Services.Configure<ConfigurationTenantStoreOptions>(options =>
{ {
options.Tenants = new[] options.Tenants = new[]
{ {
@ -236,11 +236,11 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpMultiTenancyModule))] [DependsOn(typeof(AbpMultiTenancyModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = BuildConfiguration(); var configuration = BuildConfiguration();
services.Configure<ConfigurationTenantStoreOptions>(configuration); context.Services.Configure<ConfigurationTenantStoreOptions>(configuration);
} }
private static IConfigurationRoot BuildConfiguration() private static IConfigurationRoot BuildConfiguration()
@ -359,9 +359,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpAspNetCoreMultiTenancyModule))] [DependsOn(typeof(AbpAspNetCoreMultiTenancyModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<TenantResolveOptions>(options => context.Services.Configure<TenantResolveOptions>(options =>
{ {
//Subdomain format: {0}.mydomain.com (adding as the highest priority resolver) //Subdomain format: {0}.mydomain.com (adding as the highest priority resolver)
options.TenantResolvers.Insert(0, new DomainTenantResolver("{0}.mydomain.com")); options.TenantResolvers.Insert(0, new DomainTenantResolver("{0}.mydomain.com"));

10
docs/Virtual-File-System.md

@ -56,9 +56,9 @@ namespace MyCompany.MyProject
[DependsOn(typeof(AbpVirtualFileSystemModule))] [DependsOn(typeof(AbpVirtualFileSystemModule))]
public class MyModule : AbpModule public class MyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
//Register all embedded files of this assembly to the virtual file system //Register all embedded files of this assembly to the virtual file system
options.FileSets.AddEmbedded<MyModule>(); options.FileSets.AddEmbedded<MyModule>();
@ -116,13 +116,13 @@ The example below shows an application depends on a module (`MyModule`) that con
[DependsOn(typeof(MyModule))] [DependsOn(typeof(MyModule))]
public class MyWebAppModule : AbpModule public class MyWebAppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var hostingEnvironment = services.GetHostingEnvironment(); var hostingEnvironment = context.Services.GetHostingEnvironment();
if (hostingEnvironment.IsDevelopment()) //only for development time if (hostingEnvironment.IsDevelopment()) //only for development time
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
//ReplaceEmbeddedByPyhsical gets the root folder of the MyModule project //ReplaceEmbeddedByPyhsical gets the root folder of the MyModule project
options.FileSets.ReplaceEmbeddedByPyhsical<MyModule>( options.FileSets.ReplaceEmbeddedByPyhsical<MyModule>(

4
framework/src/Volo.Abp.ApiVersioning.Abstractions/Volo/Abp/ApiVersioning/AbpApiVersioningAbstractionsModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.ApiVersioning
{ {
public class AbpApiVersioningAbstractionsModule : AbpModule public class AbpApiVersioningAbstractionsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddSingleton<IRequestedApiVersion>(NullRequestedApiVersion.Instance); context.Services.AddSingleton<IRequestedApiVersion>(NullRequestedApiVersion.Instance);
} }
} }
} }

4
framework/src/Volo.Abp.AspNetCore.Authentication.OAuth/Volo/Abp/AspNetCore/Authentication/OAuth/AbpAspNetCoreAuthenticationOAuthModule.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.AspNetCore.Authentication.OAuth
[DependsOn(typeof(AbpSecurityModule))] [DependsOn(typeof(AbpSecurityModule))]
public class AbpAspNetCoreAuthenticationOAuthModule : AbpModule public class AbpAspNetCoreAuthenticationOAuthModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreAuthenticationOAuthModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreAuthenticationOAuthModule>();
} }
} }
} }

6
framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyModule.cs

@ -10,9 +10,9 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
)] )]
public class AbpAspNetCoreMultiTenancyModule : AbpModule public class AbpAspNetCoreMultiTenancyModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<TenantResolveOptions>(options => context.Services.Configure<TenantResolveOptions>(options =>
{ {
options.TenantResolvers.Add(new QueryStringTenantResolveContributer()); options.TenantResolvers.Add(new QueryStringTenantResolveContributer());
options.TenantResolvers.Add(new RouteTenantResolveContributer()); options.TenantResolvers.Add(new RouteTenantResolveContributer());
@ -20,7 +20,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
options.TenantResolvers.Add(new CookieTenantResolveContributer()); options.TenantResolvers.Add(new CookieTenantResolveContributer());
}); });
services.AddAssemblyOf<AbpAspNetCoreMultiTenancyModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMultiTenancyModule>();
} }
} }
} }

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/AbpAspNetCoreMvcUiBootstrapModule.cs

@ -7,11 +7,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
[DependsOn(typeof(AbpAspNetCoreMvcUiModule))] [DependsOn(typeof(AbpAspNetCoreMvcUiModule))]
public class AbpAspNetCoreMvcUiBootstrapModule : AbpModule public class AbpAspNetCoreMvcUiBootstrapModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapModule>();
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiBootstrapModule>("Volo.Abp.AspNetCore.Mvc.UI.Bootstrap"); options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiBootstrapModule>("Volo.Abp.AspNetCore.Mvc.UI.Bootstrap");
}); });

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/AbpAspNetCoreMvcUiBundlingModule.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling
[DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))] [DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))]
public class AbpAspNetCoreMvcUiBundlingModule : AbpModule public class AbpAspNetCoreMvcUiBundlingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiBundlingModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiBundlingModule>();
} }
} }
} }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/AbpAspNetCoreMvcUiPackagesModule.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Packages
[DependsOn(typeof(AbpAspNetCoreMvcUiBundlingModule))] [DependsOn(typeof(AbpAspNetCoreMvcUiBundlingModule))]
public class AbpAspNetCoreMvcUiPackagesModule : AbpModule public class AbpAspNetCoreMvcUiPackagesModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiPackagesModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiPackagesModule>();
} }
} }
} }

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs

@ -16,9 +16,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic
)] )]
public class AbpAspNetCoreMvcUiBasicThemeModule : AbpModule public class AbpAspNetCoreMvcUiBasicThemeModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<ThemingOptions>(options => context.Services.Configure<ThemingOptions>(options =>
{ {
options.Themes.Add<BasicTheme>(); options.Themes.Add<BasicTheme>();
@ -28,17 +28,17 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic
} }
}); });
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiBasicThemeModule>("Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic"); options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiBasicThemeModule>("Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic");
}); });
services.Configure<ToolbarOptions>(options => context.Services.Configure<ToolbarOptions>(options =>
{ {
options.Contributors.Add(new BasicThemeMainTopToolbarContributor()); options.Contributors.Add(new BasicThemeMainTopToolbarContributor());
}); });
services.Configure<BundlingOptions>(options => context.Services.Configure<BundlingOptions>(options =>
{ {
options options
.StyleBundles .StyleBundles
@ -57,7 +57,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic
}); });
}); });
services.AddAssemblyOf<AbpAspNetCoreMvcUiBasicThemeModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiBasicThemeModule>();
} }
} }
} }

8
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/AbpAspNetCoreMvcUiThemeSharedModule.cs

@ -14,14 +14,14 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
)] )]
public class AbpAspNetCoreMvcUiThemeSharedModule : AbpModule public class AbpAspNetCoreMvcUiThemeSharedModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiThemeSharedModule>("Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared"); options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiThemeSharedModule>("Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared");
}); });
services.Configure<BundlingOptions>(options => context.Services.Configure<BundlingOptions>(options =>
{ {
options options
.StyleBundles .StyleBundles
@ -32,7 +32,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
.Add(StandardBundles.Scripts.Global, bundle => bundle.AddContributors(typeof(SharedThemeGlobalScriptContributor))); .Add(StandardBundles.Scripts.Global, bundle => bundle.AddContributors(typeof(SharedThemeGlobalScriptContributor)));
}); });
services.AddAssemblyOf<AbpAspNetCoreMvcUiThemeSharedModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiThemeSharedModule>();
} }
} }
} }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/AbpAspNetCoreMvcUiModule.cs

@ -8,9 +8,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI
[DependsOn(typeof(AbpUiNavigationModule))] [DependsOn(typeof(AbpUiNavigationModule))]
public class AbpAspNetCoreMvcUiModule : AbpModule public class AbpAspNetCoreMvcUiModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiModule>();
} }
} }
} }

40
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs

@ -35,21 +35,21 @@ namespace Volo.Abp.AspNetCore.Mvc
[DependsOn(typeof(AbpUiModule))] [DependsOn(typeof(AbpUiModule))]
public class AbpAspNetCoreMvcModule : AbpModule public class AbpAspNetCoreMvcModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.AddConventionalRegistrar(new AbpAspNetCoreMvcConventionalRegistrar()); context.Services.AddConventionalRegistrar(new AbpAspNetCoreMvcConventionalRegistrar());
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//Configure Razor //Configure Razor
services.Insert(0, context.Services.Insert(0,
ServiceDescriptor.Singleton<IConfigureOptions<RazorViewEngineOptions>>( ServiceDescriptor.Singleton<IConfigureOptions<RazorViewEngineOptions>>(
new ConfigureOptions<RazorViewEngineOptions>(options => new ConfigureOptions<RazorViewEngineOptions>(options =>
{ {
options.FileProviders.Add( options.FileProviders.Add(
new AspNetCoreVirtualFileProvider( new AspNetCoreVirtualFileProvider(
services.GetSingletonInstance<IObjectAccessor<IServiceProvider>>() context.Services.GetSingletonInstance<IObjectAccessor<IServiceProvider>>()
) )
); );
} }
@ -57,14 +57,14 @@ namespace Volo.Abp.AspNetCore.Mvc
) )
); );
services.Configure<ApiDescriptionModelOptions>(options => context.Services.Configure<ApiDescriptionModelOptions>(options =>
{ {
options.IgnoredInterfaces.AddIfNotContains(typeof(IAsyncActionFilter)); options.IgnoredInterfaces.AddIfNotContains(typeof(IAsyncActionFilter));
options.IgnoredInterfaces.AddIfNotContains(typeof(IFilterMetadata)); options.IgnoredInterfaces.AddIfNotContains(typeof(IFilterMetadata));
options.IgnoredInterfaces.AddIfNotContains(typeof(IActionFilter)); options.IgnoredInterfaces.AddIfNotContains(typeof(IActionFilter));
}); });
services.Configure<AbpAspNetCoreMvcOptions>(options => context.Services.Configure<AbpAspNetCoreMvcOptions>(options =>
{ {
options.ConventionalControllers.Create(typeof(AbpAspNetCoreMvcModule).Assembly, o => options.ConventionalControllers.Create(typeof(AbpAspNetCoreMvcModule).Assembly, o =>
{ {
@ -72,13 +72,13 @@ namespace Volo.Abp.AspNetCore.Mvc
}); });
}); });
var mvcCoreBuilder = services.AddMvcCore(); var mvcCoreBuilder = context.Services.AddMvcCore();
services.ExecutePreConfiguredActions(mvcCoreBuilder); context.Services.ExecutePreConfiguredActions(mvcCoreBuilder);
var mvcBuilder = services.AddMvc() var mvcBuilder = context.Services.AddMvc()
.AddDataAnnotationsLocalization(options => .AddDataAnnotationsLocalization(options =>
{ {
var assemblyResources = services.ExecutePreConfiguredActions(new AbpMvcDataAnnotationsLocalizationOptions()).AssemblyResources; var assemblyResources = context.Services.ExecutePreConfiguredActions(new AbpMvcDataAnnotationsLocalizationOptions()).AssemblyResources;
options.DataAnnotationLocalizerProvider = (type, factory) => options.DataAnnotationLocalizerProvider = (type, factory) =>
{ {
@ -88,30 +88,30 @@ namespace Volo.Abp.AspNetCore.Mvc
}) })
.AddViewLocalization(); //TODO: How to configure from the application? Also, consider to move to a UI module since APIs does not care about it. .AddViewLocalization(); //TODO: How to configure from the application? Also, consider to move to a UI module since APIs does not care about it.
services.ExecutePreConfiguredActions(mvcBuilder); context.Services.ExecutePreConfiguredActions(mvcBuilder);
//TODO: AddViewLocalization by default..? //TODO: AddViewLocalization by default..?
services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>(); context.Services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>();
//Use DI to create controllers //Use DI to create controllers
services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>()); context.Services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
//Use DI to create view components //Use DI to create view components
services.Replace(ServiceDescriptor.Singleton<IViewComponentActivator, ServiceBasedViewComponentActivator>()); context.Services.Replace(ServiceDescriptor.Singleton<IViewComponentActivator, ServiceBasedViewComponentActivator>());
//Add feature providers //Add feature providers
var partManager = services.GetSingletonInstance<ApplicationPartManager>(); var partManager = context.Services.GetSingletonInstance<ApplicationPartManager>();
var application = services.GetSingletonInstance<IAbpApplication>(); var application = context.Services.GetSingletonInstance<IAbpApplication>();
partManager.FeatureProviders.Add(new AbpConventionalControllerFeatureProvider(application)); partManager.FeatureProviders.Add(new AbpConventionalControllerFeatureProvider(application));
services.Configure<MvcOptions>(mvcOptions => context.Services.Configure<MvcOptions>(mvcOptions =>
{ {
mvcOptions.AddAbp(services); mvcOptions.AddAbp(context.Services);
}); });
services.AddAssemblyOf<AbpAspNetCoreMvcModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

4
framework/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs

@ -8,9 +8,9 @@ namespace Volo.Abp.AspNetCore.TestBase
[DependsOn(typeof(AbpAspNetCoreModule))] [DependsOn(typeof(AbpAspNetCoreModule))]
public class AbpAspNetCoreTestBaseModule : AbpModule public class AbpAspNetCoreTestBaseModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreTestBaseModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreTestBaseModule>();
} }
} }
} }

10
framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/AbpAspNetCoreModule.cs

@ -12,15 +12,15 @@ namespace Volo.Abp.AspNetCore
[DependsOn(typeof(AbpVirtualFileSystemModule))] [DependsOn(typeof(AbpVirtualFileSystemModule))]
public class AbpAspNetCoreModule : IAbpModule public class AbpAspNetCoreModule : IAbpModule
{ {
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(ServiceConfigurationContext context)
{ {
AddAspNetServices(services); AddAspNetServices(context.Services);
services.AddObjectAccessor<IApplicationBuilder>(); context.Services.AddObjectAccessor<IApplicationBuilder>();
services.AddConfiguration(); context.Services.AddConfiguration();
services.AddAssemblyOf<AbpAspNetCoreModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreModule>();
} }
private static void AddAspNetServices(IServiceCollection services) private static void AddAspNetServices(IServiceCollection services)

4
framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingModule.cs

@ -16,9 +16,9 @@ namespace Volo.Abp.Auditing
)] )]
public class AbpAuditingModule : AbpModule public class AbpAuditingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAuditingModule>(); context.Services.AddAssemblyOf<AbpAuditingModule>();
} }
} }
} }

14
framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationModule.cs

@ -13,24 +13,24 @@ namespace Volo.Abp.Authorization
)] )]
public class AbpAuthorizationModule : AbpModule public class AbpAuthorizationModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnRegistred(AuthorizationInterceptorRegistrar.RegisterIfNeeded); context.Services.OnRegistred(AuthorizationInterceptorRegistrar.RegisterIfNeeded);
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAuthorization(); context.Services.AddAuthorization();
services.AddSingleton<IAuthorizationHandler, PermissionRequirementHandler>(); context.Services.AddSingleton<IAuthorizationHandler, PermissionRequirementHandler>();
services.Configure<PermissionOptions>(options => context.Services.Configure<PermissionOptions>(options =>
{ {
options.ValueProviders.Add<UserPermissionValueProvider>(); options.ValueProviders.Add<UserPermissionValueProvider>();
options.ValueProviders.Add<RolePermissionValueProvider>(); options.ValueProviders.Add<RolePermissionValueProvider>();
}); });
services.AddAssemblyOf<AbpAuthorizationModule>(); context.Services.AddAssemblyOf<AbpAuthorizationModule>();
} }
} }
} }

8
framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs

@ -17,13 +17,13 @@ namespace Volo.Abp.AutoMapper
private static volatile bool _createdMappingsBefore; private static volatile bool _createdMappingsBefore;
private static readonly object SyncObj = new object(); private static readonly object SyncObj = new object();
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAutoMapperModule>(); context.Services.AddAssemblyOf<AbpAutoMapperModule>();
var mapperAccessor = new MapperAccessor(); var mapperAccessor = new MapperAccessor();
services.AddSingleton<IMapperAccessor>(_ => mapperAccessor); context.Services.AddSingleton<IMapperAccessor>(_ => mapperAccessor);
services.AddSingleton<MapperAccessor>(_ => mapperAccessor); context.Services.AddSingleton<MapperAccessor>(_ => mapperAccessor);
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

10
framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs

@ -11,14 +11,14 @@ namespace Volo.Abp.Caching
[DependsOn(typeof(AbpMultiTenancyAbstractionsModule))] [DependsOn(typeof(AbpMultiTenancyAbstractionsModule))]
public class AbpCachingModule : AbpModule public class AbpCachingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddMemoryCache(); context.Services.AddMemoryCache();
services.AddDistributedMemoryCache(); context.Services.AddDistributedMemoryCache();
services.AddAssemblyOf<AbpCachingModule>(); context.Services.AddAssemblyOf<AbpCachingModule>();
services.AddSingleton(typeof(IDistributedCache<>), typeof(DistributedCache<>)); context.Services.AddSingleton(typeof(IDistributedCache<>), typeof(DistributedCache<>));
} }
} }
} }

4
framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.Castle
{ {
public class AbpCastleCoreModule : AbpModule public class AbpCastleCoreModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddTransient(typeof(CastleAbpInterceptorAdapter<>)); context.Services.AddTransient(typeof(CastleAbpInterceptorAdapter<>));
} }
} }
} }

6
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModule.cs

@ -13,17 +13,17 @@ namespace Volo.Abp.Modularity
IPreConfigureServices, IPreConfigureServices,
IPostConfigureServices IPostConfigureServices
{ {
public virtual void PreConfigureServices(IServiceCollection services) public virtual void PreConfigureServices(ServiceConfigurationContext context)
{ {
} }
public virtual void ConfigureServices(IServiceCollection services) public virtual void ConfigureServices(ServiceConfigurationContext context)
{ {
} }
public virtual void PostConfigureServices(IServiceCollection services) public virtual void PostConfigureServices(ServiceConfigurationContext context)
{ {
} }

2
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IAbpModule.cs

@ -6,6 +6,6 @@ namespace Volo.Abp.Modularity
{ {
public interface IAbpModule : ISingletonDependency public interface IAbpModule : ISingletonDependency
{ {
void ConfigureServices([NotNull] IServiceCollection services); void ConfigureServices(ServiceConfigurationContext context);
} }
} }

2
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IPostConfigureServices.cs

@ -4,6 +4,6 @@ namespace Volo.Abp.Modularity
{ {
public interface IPostConfigureServices public interface IPostConfigureServices
{ {
void PostConfigureServices(IServiceCollection services); void PostConfigureServices(ServiceConfigurationContext context);
} }
} }

2
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/IPreConfigureServices.cs

@ -4,6 +4,6 @@ namespace Volo.Abp.Modularity
{ {
public interface IPreConfigureServices public interface IPreConfigureServices
{ {
void PreConfigureServices(IServiceCollection services); void PreConfigureServices(ServiceConfigurationContext context);
} }
} }

7
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/ModuleLoader.cs

@ -91,22 +91,23 @@ namespace Volo.Abp.Modularity
protected virtual void ConfigureServices(List<IAbpModuleDescriptor> modules, IServiceCollection services) protected virtual void ConfigureServices(List<IAbpModuleDescriptor> modules, IServiceCollection services)
{ {
var context = new ServiceConfigurationContext(services);
//PreConfigureServices //PreConfigureServices
foreach (var module in modules.Where(m => m.Instance is IPreConfigureServices)) foreach (var module in modules.Where(m => m.Instance is IPreConfigureServices))
{ {
((IPreConfigureServices)module.Instance).PreConfigureServices(services); ((IPreConfigureServices)module.Instance).PreConfigureServices(context);
} }
//ConfigureServices //ConfigureServices
foreach (var module in modules) foreach (var module in modules)
{ {
module.Instance.ConfigureServices(services); module.Instance.ConfigureServices(context);
} }
//IPostConfigureServices //IPostConfigureServices
foreach (var module in modules.Where(m => m.Instance is IPostConfigureServices)) foreach (var module in modules.Where(m => m.Instance is IPostConfigureServices))
{ {
((IPostConfigureServices)module.Instance).PostConfigureServices(services); ((IPostConfigureServices)module.Instance).PostConfigureServices(context);
} }
} }

6
framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs

@ -5,11 +5,11 @@ namespace Volo.Abp.Data
{ {
public class AbpDataModule : AbpModule public class AbpDataModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddSingleton(typeof(IDataFilter<>), typeof(DataFilter<>)); context.Services.AddSingleton(typeof(IDataFilter<>), typeof(DataFilter<>));
services.AddAssemblyOf<AbpDataModule>(); context.Services.AddAssemblyOf<AbpDataModule>();
} }
} }
} }

6
framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/AbpDddApplicationModule.cs

@ -21,9 +21,9 @@ namespace Volo.Abp.Application
[DependsOn(typeof(AbpHttpAbstractionsModule))] [DependsOn(typeof(AbpHttpAbstractionsModule))]
public class AbpDddApplicationModule : AbpModule public class AbpDddApplicationModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<ApiDescriptionModelOptions>(options => context.Services.Configure<ApiDescriptionModelOptions>(options =>
{ {
options.IgnoredInterfaces.AddIfNotContains(typeof(IRemoteService)); options.IgnoredInterfaces.AddIfNotContains(typeof(IRemoteService));
options.IgnoredInterfaces.AddIfNotContains(typeof(IApplicationService)); options.IgnoredInterfaces.AddIfNotContains(typeof(IApplicationService));
@ -31,7 +31,7 @@ namespace Volo.Abp.Application
options.IgnoredInterfaces.AddIfNotContains(typeof(IAuthorizationEnabled)); //TODO: Move to it's own module if possible? options.IgnoredInterfaces.AddIfNotContains(typeof(IAuthorizationEnabled)); //TODO: Move to it's own module if possible?
}); });
services.AddAssemblyOf<AbpDddApplicationModule>(); context.Services.AddAssemblyOf<AbpDddApplicationModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs

@ -22,9 +22,9 @@ namespace Volo.Abp.Domain
typeof(AbpUnitOfWorkModule))] typeof(AbpUnitOfWorkModule))]
public class AbpDddDomainModule : AbpModule public class AbpDddDomainModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpDddDomainModule>(); context.Services.AddAssemblyOf<AbpDddDomainModule>();
} }
} }
} }

6
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs

@ -6,14 +6,14 @@ namespace Volo.Abp.Emailing
{ {
public class AbpEmailingModule : AbpModule public class AbpEmailingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<SettingOptions>(options => context.Services.Configure<SettingOptions>(options =>
{ {
options.DefinitionProviders.Add<EmailSettingProvider>(); options.DefinitionProviders.Add<EmailSettingProvider>();
}); });
services.AddAssemblyOf<AbpEmailingModule>(); context.Services.AddAssemblyOf<AbpEmailingModule>();
} }
} }
} }

4
framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs

@ -8,9 +8,9 @@ namespace Volo.Abp.EntityFrameworkCore.MySQL
)] )]
public class AbpEntityFrameworkCoreMySQLModule : AbpModule public class AbpEntityFrameworkCoreMySQLModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpEntityFrameworkCoreMySQLModule>(); context.Services.AddAssemblyOf<AbpEntityFrameworkCoreMySQLModule>();
} }
} }
} }

4
framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/SqlServer/AbpEntityFrameworkCoreSqlServerModule.cs

@ -8,9 +8,9 @@ namespace Volo.Abp.EntityFrameworkCore.SqlServer
)] )]
public class AbpEntityFrameworkCoreSqlServerModule : AbpModule public class AbpEntityFrameworkCoreSqlServerModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpEntityFrameworkCoreSqlServerModule>(); context.Services.AddAssemblyOf<AbpEntityFrameworkCoreSqlServerModule>();
} }
} }
} }

12
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreModule.cs

@ -10,13 +10,13 @@ namespace Volo.Abp.EntityFrameworkCore
[DependsOn(typeof(AbpDddDomainModule))] [DependsOn(typeof(AbpDddDomainModule))]
public class AbpEntityFrameworkCoreModule : AbpModule public class AbpEntityFrameworkCoreModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<AbpDbContextOptions>(options => context.Services.Configure<AbpDbContextOptions>(options =>
{ {
options.PreConfigure(context => options.PreConfigure(abpDbContextConfigurationContext =>
{ {
context.DbContextOptions abpDbContextConfigurationContext.DbContextOptions
.ConfigureWarnings(warnings => .ConfigureWarnings(warnings =>
{ {
warnings.Ignore(CoreEventId.LazyLoadOnDisposedContextWarning); warnings.Ignore(CoreEventId.LazyLoadOnDisposedContextWarning);
@ -24,8 +24,8 @@ namespace Volo.Abp.EntityFrameworkCore
}); });
}); });
services.TryAddTransient(typeof(IDbContextProvider<>), typeof(UnitOfWorkDbContextProvider<>)); context.Services.TryAddTransient(typeof(IDbContextProvider<>), typeof(UnitOfWorkDbContextProvider<>));
services.AddAssemblyOf<AbpEntityFrameworkCoreModule>(); context.Services.AddAssemblyOf<AbpEntityFrameworkCoreModule>();
} }
} }
} }

4
framework/src/Volo.Abp.EventBus.Distributed.RabbitMQ/Volo/Abp/EventBus/Distributed/RabbitMq/AbpRabbitMqDistributedEventBusModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.EventBus.Distributed.RabbitMq
[DependsOn(typeof(AbpDistributedEventBusModule))] [DependsOn(typeof(AbpDistributedEventBusModule))]
public class AbpRabbitMqDistributedEventBusModule : AbpModule public class AbpRabbitMqDistributedEventBusModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpRabbitMqDistributedEventBusModule>(); context.Services.AddAssemblyOf<AbpRabbitMqDistributedEventBusModule>();
} }
} }
} }

4
framework/src/Volo.Abp.EventBus.Distributed/Volo/Abp/EventBus/Distributed/AbpDistributedEventBusModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.EventBus.Distributed
[DependsOn(typeof(AbpEventBusModule))] [DependsOn(typeof(AbpEventBusModule))]
public class AbpDistributedEventBusModule : AbpModule public class AbpDistributedEventBusModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpDistributedEventBusModule>(); context.Services.AddAssemblyOf<AbpDistributedEventBusModule>();
} }
} }
} }

8
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs

@ -8,14 +8,14 @@ namespace Volo.Abp.EventBus
{ {
public class AbpEventBusModule : AbpModule public class AbpEventBusModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
AddEventHandlers(services); AddEventHandlers(context.Services);
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpEventBusModule>(); context.Services.AddAssemblyOf<AbpEventBusModule>();
} }
private static void AddEventHandlers(IServiceCollection services) private static void AddEventHandlers(IServiceCollection services)

4
framework/src/Volo.Abp.Guids/Volo/Abp/Guids/AbpGuidsModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Guids
{ {
public class AbpGuidsModule : AbpModule public class AbpGuidsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpGuidsModule>(); context.Services.AddAssemblyOf<AbpGuidsModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Http.Abstractions/Volo/Abp/Http/AbpHttpAbstractionsModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Http
{ {
public class AbpHttpAbstractionsModule : AbpModule public class AbpHttpAbstractionsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpHttpAbstractionsModule>(); context.Services.AddAssemblyOf<AbpHttpAbstractionsModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientModule.cs

@ -8,9 +8,9 @@ namespace Volo.Abp.Http.Client
[DependsOn(typeof(AbpCastleCoreModule))] [DependsOn(typeof(AbpCastleCoreModule))]
public class AbpHttpClientModule : AbpModule public class AbpHttpClientModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpHttpClientModule>(); context.Services.AddAssemblyOf<AbpHttpClientModule>();
} }
} }
} }

6
framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpModule.cs

@ -10,11 +10,11 @@ namespace Volo.Abp.Http
[DependsOn(typeof(AbpJsonModule))] [DependsOn(typeof(AbpJsonModule))]
public class AbpHttpModule : AbpModule public class AbpHttpModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpHttpModule>(); context.Services.AddAssemblyOf<AbpHttpModule>();
services.Configure<AbpApiProxyScriptingOptions>(options => context.Services.Configure<AbpApiProxyScriptingOptions>(options =>
{ {
options.Generators[JQueryProxyScriptGenerator.Name] = typeof(JQueryProxyScriptGenerator); options.Generators[JQueryProxyScriptGenerator.Name] = typeof(JQueryProxyScriptGenerator);
}); });

4
framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.Json
[DependsOn(typeof(AbpTimingModule))] [DependsOn(typeof(AbpTimingModule))]
public class AbpJsonModule : AbpModule public class AbpJsonModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpJsonModule>(); context.Services.AddAssemblyOf<AbpJsonModule>();
} }
} }
} }

10
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs

@ -8,23 +8,23 @@ namespace Volo.Abp.Localization
[DependsOn(typeof(AbpVirtualFileSystemModule))] [DependsOn(typeof(AbpVirtualFileSystemModule))]
public class AbpLocalizationModule : AbpModule public class AbpLocalizationModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
AbpStringLocalizerFactory.Replace(services); AbpStringLocalizerFactory.Replace(context.Services);
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpLocalizationModule>("Volo.Abp", "Volo/Abp"); options.FileSets.AddEmbedded<AbpLocalizationModule>("Volo.Abp", "Volo/Abp");
}); });
services.Configure<AbpLocalizationOptions>(options => context.Services.Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources options.Resources
.Add<AbpValidationResource>("en") .Add<AbpValidationResource>("en")
.AddVirtualJson("/Localization/Resources/AbpValidation"); .AddVirtualJson("/Localization/Resources/AbpValidation");
}); });
services.AddAssemblyOf<AbpLocalizationModule>(); context.Services.AddAssemblyOf<AbpLocalizationModule>();
} }
} }
} }

6
framework/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/AbpMemoryDbModule.cs

@ -12,10 +12,10 @@ namespace Volo.Abp.MemoryDb
[DependsOn(typeof(AbpDddDomainModule))] [DependsOn(typeof(AbpDddDomainModule))]
public class AbpMemoryDbModule : AbpModule public class AbpMemoryDbModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.TryAddTransient(typeof(IMemoryDatabaseProvider<>), typeof(UnitOfWorkMemoryDatabaseProvider<>)); context.Services.TryAddTransient(typeof(IMemoryDatabaseProvider<>), typeof(UnitOfWorkMemoryDatabaseProvider<>));
services.AddAssemblyOf<AbpMemoryDbModule>(); context.Services.AddAssemblyOf<AbpMemoryDbModule>();
} }
} }
} }

6
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs

@ -9,10 +9,10 @@ namespace Volo.Abp.MongoDB
[DependsOn(typeof(AbpDddDomainModule))] [DependsOn(typeof(AbpDddDomainModule))]
public class AbpMongoDbModule : AbpModule public class AbpMongoDbModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.TryAddTransient(typeof(IMongoDbContextProvider<>), typeof(UnitOfWorkMongoDbContextProvider<>)); context.Services.TryAddTransient(typeof(IMongoDbContextProvider<>), typeof(UnitOfWorkMongoDbContextProvider<>));
services.AddAssemblyOf<AbpMongoDbModule>(); context.Services.AddAssemblyOf<AbpMongoDbModule>();
} }
} }
} }

6
framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/AbpMultiTenancyAbstractionsModule.cs

@ -9,14 +9,14 @@ namespace Volo.Abp.MultiTenancy
[DependsOn(typeof(AbpSettingsModule))] [DependsOn(typeof(AbpSettingsModule))]
public class AbpMultiTenancyAbstractionsModule : AbpModule //TODO: Rename to AbpMultiTenancyModule public class AbpMultiTenancyAbstractionsModule : AbpModule //TODO: Rename to AbpMultiTenancyModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<SettingOptions>(options => context.Services.Configure<SettingOptions>(options =>
{ {
options.ValueProviders.Add<TenantSettingValueProvider>(); options.ValueProviders.Add<TenantSettingValueProvider>();
}); });
services.AddAssemblyOf<AbpMultiTenancyAbstractionsModule>(); context.Services.AddAssemblyOf<AbpMultiTenancyAbstractionsModule>();
} }
} }
} }

12
framework/src/Volo.Abp.ObjectMapping/Volo/Abp/ObjectMapping/AbpObjectMappingModule.cs

@ -6,23 +6,23 @@ namespace Volo.Abp.ObjectMapping
{ {
public class AbpObjectMappingModule : AbpModule public class AbpObjectMappingModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnExposing(context => context.Services.OnExposing(onServiceExposingContext =>
{ {
//Register types for IObjectMapper<TSource, TDestination> if implements //Register types for IObjectMapper<TSource, TDestination> if implements
context.ExposedTypes.AddRange( onServiceExposingContext.ExposedTypes.AddRange(
ReflectionHelper.GetImplementedGenericTypes( ReflectionHelper.GetImplementedGenericTypes(
context.ImplementationType, onServiceExposingContext.ImplementationType,
typeof(IObjectMapper<,>) typeof(IObjectMapper<,>)
) )
); );
}); });
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpObjectMappingModule>(); context.Services.AddAssemblyOf<AbpObjectMappingModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Security
{ {
public class AbpSecurityModule : AbpModule public class AbpSecurityModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpSecurityModule>(); context.Services.AddAssemblyOf<AbpSecurityModule>();
} }
} }
} }

12
framework/src/Volo.Abp.Serialization/Volo/Abp/Serialization/AbpSerializationModule.cs

@ -6,23 +6,23 @@ namespace Volo.Abp.Serialization
{ {
public class AbpSerializationModule : AbpModule public class AbpSerializationModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnExposing(context => context.Services.OnExposing(onServiceExposingContext =>
{ {
//Register types for IObjectSerializer<T> if implements //Register types for IObjectSerializer<T> if implements
context.ExposedTypes.AddRange( onServiceExposingContext.ExposedTypes.AddRange(
ReflectionHelper.GetImplementedGenericTypes( ReflectionHelper.GetImplementedGenericTypes(
context.ImplementationType, onServiceExposingContext.ImplementationType,
typeof(IObjectSerializer<>) typeof(IObjectSerializer<>)
) )
); );
}); });
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpSerializationModule>(); context.Services.AddAssemblyOf<AbpSerializationModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/AbpSettingsModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Settings
{ {
public class AbpSettingsModule : AbpModule public class AbpSettingsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpSettingsModule>(); context.Services.AddAssemblyOf<AbpSettingsModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Sms/Volo/Abp/Sms/AbpSmsModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Sms
{ {
public class AbpSmsModule : AbpModule public class AbpSmsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpSmsModule>(); context.Services.AddAssemblyOf<AbpSmsModule>();
} }
} }
} }

2
framework/src/Volo.Abp.TestBase/Volo/Abp/AbpTestBaseModule.cs

@ -5,7 +5,7 @@ namespace Volo.Abp
{ {
public class AbpTestBaseModule : AbpModule public class AbpTestBaseModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
} }

6
framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpThreadingModule.cs

@ -5,11 +5,11 @@ namespace Volo.Abp.Threading
{ {
public class AbpThreadingModule : AbpModule public class AbpThreadingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddSingleton<ICancellationTokenProvider>(NullCancellationTokenProvider.Instance); context.Services.AddSingleton<ICancellationTokenProvider>(NullCancellationTokenProvider.Instance);
services.AddAssemblyOf<AbpThreadingModule>(); context.Services.AddAssemblyOf<AbpThreadingModule>();
} }
} }
} }

4
framework/src/Volo.Abp.Timing/Volo/Abp/Timing/AbpTimingModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.Timing
{ {
public class AbpTimingModule : AbpModule public class AbpTimingModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpTimingModule>(); context.Services.AddAssemblyOf<AbpTimingModule>();
} }
} }
} }

4
framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/AbpUiNavigationModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.UI.Navigation
[DependsOn(typeof(AbpUiModule))] [DependsOn(typeof(AbpUiModule))]
public class AbpUiNavigationModule : AbpModule public class AbpUiNavigationModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpUiNavigationModule>(); context.Services.AddAssemblyOf<AbpUiNavigationModule>();
} }
} }
} }

8
framework/src/Volo.Abp.UI/Volo/Abp/Ui/AbpUiModule.cs

@ -11,19 +11,19 @@ namespace Volo.Abp.UI
)] )]
public class AbpUiModule : AbpModule public class AbpUiModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpUiModule>(); options.FileSets.AddEmbedded<AbpUiModule>();
}); });
services.Configure<AbpLocalizationOptions>(options => context.Services.Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources.Add<AbpUiResource>("en").AddVirtualJson("/Localization/Resources/AbpUi"); options.Resources.Add<AbpUiResource>("en").AddVirtualJson("/Localization/Resources/AbpUi");
}); });
services.AddAssemblyOf<AbpUiModule>(); context.Services.AddAssemblyOf<AbpUiModule>();
} }
} }
} }

8
framework/src/Volo.Abp.Uow/Volo/Abp/Uow/AbpUnitOfWorkModule.cs

@ -5,14 +5,14 @@ namespace Volo.Abp.Uow
{ {
public class AbpUnitOfWorkModule : AbpModule public class AbpUnitOfWorkModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnRegistred(UnitOfWorkInterceptorRegistrar.RegisterIfNeeded); context.Services.OnRegistred(UnitOfWorkInterceptorRegistrar.RegisterIfNeeded);
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpUnitOfWorkModule>(); context.Services.AddAssemblyOf<AbpUnitOfWorkModule>();
} }
} }
} }

8
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs

@ -5,14 +5,14 @@ namespace Volo.Abp.Validation
{ {
public class AbpValidationModule : AbpModule public class AbpValidationModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded); context.Services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded);
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpValidationModule>(); context.Services.AddAssemblyOf<AbpValidationModule>();
} }
} }
} }

4
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/AbpVirtualFileSystemModule.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.VirtualFileSystem
{ {
public class AbpVirtualFileSystemModule : AbpModule public class AbpVirtualFileSystemModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpVirtualFileSystemModule>(); context.Services.AddAssemblyOf<AbpVirtualFileSystemModule>();
} }
} }
} }

4
framework/test/SimpleConsoleDemo/Program.cs

@ -32,9 +32,9 @@ namespace SimpleConsoleDemo
public class MyConsoleModule : AbpModule public class MyConsoleModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<MyConsoleModule>(); context.Services.AddAssemblyOf<MyConsoleModule>();
} }
} }

4
framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/App/AppModule.cs

@ -17,9 +17,9 @@ namespace Volo.Abp.AspNetCore.App
)] )]
public class AppModule : AbpModule public class AppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<TenantResolveOptions>(options => context.Services.Configure<TenantResolveOptions>(options =>
{ {
options.AddDomainTenantResolver("{0}.abp.io"); options.AddDomainTenantResolver("{0}.abp.io");
}); });

18
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs

@ -20,11 +20,11 @@ namespace Volo.Abp.AspNetCore.Mvc
)] )]
public class AbpAspNetCoreMvcTestModule : AbpModule public class AbpAspNetCoreMvcTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddLocalization(); //TODO: Move to the framework..? context.Services.AddLocalization(); //TODO: Move to the framework..?
services.AddAuthorization(options => context.Services.AddAuthorization(options =>
{ {
options.AddPolicy("MyClaimTestPolicy", policy => options.AddPolicy("MyClaimTestPolicy", policy =>
{ {
@ -32,23 +32,23 @@ namespace Volo.Abp.AspNetCore.Mvc
}); });
}); });
services.Configure<AbpAspNetCoreMvcOptions>(options => context.Services.Configure<AbpAspNetCoreMvcOptions>(options =>
{ {
options.ConventionalControllers.Create(typeof(TestAppModule).Assembly, opts => options.ConventionalControllers.Create(typeof(TestAppModule).Assembly, opts =>
{ {
opts.UrlActionNameNormalizer = context => opts.UrlActionNameNormalizer = urlActionNameNormalizerContext =>
string.Equals(context.ActionNameInUrl, "phone", StringComparison.OrdinalIgnoreCase) string.Equals(urlActionNameNormalizerContext.ActionNameInUrl, "phone", StringComparison.OrdinalIgnoreCase)
? "phones" ? "phones"
: context.ActionNameInUrl; : urlActionNameNormalizerContext.ActionNameInUrl;
}); });
}); });
services.Configure<PermissionOptions>(options => context.Services.Configure<PermissionOptions>(options =>
{ {
options.DefinitionProviders.Add<TestPermissionDefinitionProvider>(); options.DefinitionProviders.Add<TestPermissionDefinitionProvider>();
}); });
services.AddAssemblyOf<AbpAspNetCoreMvcTestModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcTestModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

4
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests/Volo/Abp/AspNetCore/Mvc/UI/Bootstrap/Demo/AbpAspNetCoreMvcUiBootstrapDemoTestModule.cs

@ -10,9 +10,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
)] )]
public class AbpAspNetCoreMvcUiBootstrapDemoTestModule : AbpModule public class AbpAspNetCoreMvcUiBootstrapDemoTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapDemoTestModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapDemoTestModule>();
} }
} }
} }

4
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs

@ -14,9 +14,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
)] )]
public class AbpAspNetCoreMvcUiBootstrapDemoModule : AbpModule public class AbpAspNetCoreMvcUiBootstrapDemoModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapDemoModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiBootstrapDemoModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

4
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Tests/Volo/Abp/AspNetCore/Mvc/UI/AbpAspNetCoreMvcUiTestModule.cs

@ -13,9 +13,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI
)] )]
public class AbpAspNetCoreMvcUiTestModule : AbpModule public class AbpAspNetCoreMvcUiTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAspNetCoreMvcUiTestModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcUiTestModule>();
} }
} }
} }

14
framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs

@ -17,9 +17,9 @@ namespace Volo.Abp.AspNetCore.Mvc.Versioning
)] )]
public class AbpAspNetCoreMvcVersioningTestModule : AbpModule public class AbpAspNetCoreMvcVersioningTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<AbpAspNetCoreMvcOptions>(options => context.Services.Configure<AbpAspNetCoreMvcOptions>(options =>
{ {
//2.0 Version //2.0 Version
options.ConventionalControllers.Create(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly, opts => options.ConventionalControllers.Create(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly, opts =>
@ -36,7 +36,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Versioning
}); });
}); });
services.AddApiVersioning(options => context.Services.AddApiVersioning(options =>
{ {
options.ReportApiVersions = true; options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true; options.AssumeDefaultVersionWhenUnspecified = true;
@ -44,14 +44,14 @@ namespace Volo.Abp.AspNetCore.Mvc.Versioning
//options.ApiVersionReader = new HeaderApiVersionReader("api-version"); //Supports header too //options.ApiVersionReader = new HeaderApiVersionReader("api-version"); //Supports header too
//options.ApiVersionReader = new MediaTypeApiVersionReader(); //Supports accept header too //options.ApiVersionReader = new MediaTypeApiVersionReader(); //Supports accept header too
options.ConfigureAbp(services); options.ConfigureAbp(context.Services);
}); });
services.AddAssemblyOf<AbpAspNetCoreMvcVersioningTestModule>(); context.Services.AddAssemblyOf<AbpAspNetCoreMvcVersioningTestModule>();
services.AddHttpClientProxies(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly); context.Services.AddHttpClientProxies(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly);
services.Configure<RemoteServiceOptions>(options => context.Services.Configure<RemoteServiceOptions>(options =>
{ {
options.RemoteServices.Default = new RemoteServiceConfiguration("/"); options.RemoteServices.Default = new RemoteServiceConfiguration("/");
}); });

14
framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/AbpAuthorizationTestModule.cs

@ -10,25 +10,25 @@ namespace Volo.Abp.Authorization
[DependsOn(typeof(AbpAuthorizationModule))] [DependsOn(typeof(AbpAuthorizationModule))]
public class AbpAuthorizationTestModule : AbpModule public class AbpAuthorizationTestModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnRegistred(context => context.Services.OnRegistred(onServiceRegistredContext =>
{ {
if (typeof(IMyAuthorizedService1).IsAssignableFrom(context.ImplementationType)) if (typeof(IMyAuthorizedService1).IsAssignableFrom(onServiceRegistredContext.ImplementationType))
{ {
context.Interceptors.TryAdd<AuthorizationInterceptor>(); onServiceRegistredContext.Interceptors.TryAdd<AuthorizationInterceptor>();
} }
}); });
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<PermissionOptions>(options => context.Services.Configure<PermissionOptions>(options =>
{ {
options.DefinitionProviders.TryAdd<AuthorizationTestPermissionDefinitionProvider>(); options.DefinitionProviders.TryAdd<AuthorizationTestPermissionDefinitionProvider>();
}); });
services.AddAssemblyOf<AbpAuthorizationTestModule>(); context.Services.AddAssemblyOf<AbpAuthorizationTestModule>();
} }
} }
} }

4
framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_ConfigurationValidation_Tests.cs

@ -26,9 +26,9 @@ namespace Volo.Abp.AutoMapper
[DependsOn(typeof(AbpAutoMapperModule))] [DependsOn(typeof(AbpAutoMapperModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<AbpAutoMapperOptions>(options => context.Services.Configure<AbpAutoMapperOptions>(options =>
{ {
options.UseStaticMapper = false; options.UseStaticMapper = false;

6
framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutofacTestModule.cs

@ -6,14 +6,14 @@ namespace Volo.Abp.AutoMapper
[DependsOn(typeof(AbpAutoMapperModule))] [DependsOn(typeof(AbpAutoMapperModule))]
public class AutoMapperTestModule : AbpModule public class AutoMapperTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<AbpAutoMapperOptions>(options => context.Services.Configure<AbpAutoMapperOptions>(options =>
{ {
options.UseStaticMapper = false; options.UseStaticMapper = false;
}); });
services.AddAssemblyOf<AutoMapperTestModule>(); context.Services.AddAssemblyOf<AutoMapperTestModule>();
} }
} }
} }

4
framework/test/Volo.Abp.Autofac.Tests/Volo/Abp/Autofac/AutofacTestModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.Autofac
[DependsOn(typeof(AbpAutofacModule))] [DependsOn(typeof(AbpAutofacModule))]
public class AutofacTestModule : AbpModule public class AutofacTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpAutofacModule>(); context.Services.AddAssemblyOf<AbpAutofacModule>();
} }
} }
} }

4
framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.Caching
[DependsOn(typeof(AbpCachingModule))] [DependsOn(typeof(AbpCachingModule))]
public class AbpCachingTestModule : AbpModule public class AbpCachingTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpCachingTestModule>(); context.Services.AddAssemblyOf<AbpCachingTestModule>();
} }
} }
} }

14
framework/test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/DependencyInjection_Tests.cs

@ -101,14 +101,14 @@ namespace Microsoft.Extensions.DependencyInjection
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddType<MySingletonService>(); context.Services.AddType<MySingletonService>();
services.AddType<MyTransientService1>(); context.Services.AddType<MyTransientService1>();
services.AddType<MyEmptyTransientService>(); context.Services.AddType<MyEmptyTransientService>();
services.AddType<ServiceWithPropertyInject>(); context.Services.AddType<ServiceWithPropertyInject>();
services.AddTransient(typeof(GenericServiceWithPropertyInject<>)); context.Services.AddTransient(typeof(GenericServiceWithPropertyInject<>));
services.AddTransient(typeof(ConcreteGenericServiceWithPropertyInject)); context.Services.AddTransient(typeof(ConcreteGenericServiceWithPropertyInject));
} }
} }

2
framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs

@ -20,7 +20,7 @@ namespace Volo.Abp.Modularity
[DependsOn(typeof(IndependentEmptyModule))] [DependsOn(typeof(IndependentEmptyModule))]
public class MyStartupModule : IAbpModule public class MyStartupModule : IAbpModule
{ {
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(ServiceConfigurationContext context)
{ {
} }

6
framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/TestModuleBase.cs

@ -14,17 +14,17 @@ namespace Volo.Abp.Modularity
public bool OnApplicationShutdownIsCalled { get; set; } public bool OnApplicationShutdownIsCalled { get; set; }
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
PreConfigureServicesIsCalled = true; PreConfigureServicesIsCalled = true;
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
ConfigureServicesIsCalled = true; ConfigureServicesIsCalled = true;
} }
public override void PostConfigureServices(IServiceCollection services) public override void PostConfigureServices(ServiceConfigurationContext context)
{ {
PostConfigureServicesIsCalled = true; PostConfigureServicesIsCalled = true;
} }

4
framework/test/Volo.Abp.Data.Tests/Volo/Abp/Data/ConnectionStringResolver_Tests.cs

@ -40,9 +40,9 @@ namespace Volo.Abp.Data
[DependsOn(typeof(AbpDataModule))] [DependsOn(typeof(AbpDataModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<DbConnectionOptions>(options => context.Services.Configure<DbConnectionOptions>(options =>
{ {
options.ConnectionStrings.Default = DefaultConnString; options.ConnectionStrings.Default = DefaultConnString;
options.ConnectionStrings[Database1Name] = Database1ConnString; options.ConnectionStrings[Database1Name] = Database1ConnString;

8
framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/AbpEfCoreTestSecondContextModule.cs

@ -7,19 +7,19 @@ namespace Volo.Abp.EntityFrameworkCore.TestApp.SecondContext
[DependsOn(typeof(AbpEntityFrameworkCoreModule))] [DependsOn(typeof(AbpEntityFrameworkCoreModule))]
public class AbpEfCoreTestSecondContextModule : AbpModule public class AbpEfCoreTestSecondContextModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAbpDbContext<SecondDbContext>(options => context.Services.AddAbpDbContext<SecondDbContext>(options =>
{ {
options.AddDefaultRepositories(); options.AddDefaultRepositories();
}); });
services.AddAbpDbContext<ThirdDbContext.ThirdDbContext>(options => context.Services.AddAbpDbContext<ThirdDbContext.ThirdDbContext>(options =>
{ {
options.AddDefaultRepositories<IThirdDbContext>(); options.AddDefaultRepositories<IThirdDbContext>();
}); });
services.AddAssemblyOf<AbpEfCoreTestSecondContextModule>(); context.Services.AddAssemblyOf<AbpEfCoreTestSecondContextModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

12
framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreTestModule.cs

@ -19,11 +19,11 @@ namespace Volo.Abp.EntityFrameworkCore
[DependsOn(typeof(AbpEfCoreTestSecondContextModule))] [DependsOn(typeof(AbpEfCoreTestSecondContextModule))]
public class AbpEntityFrameworkCoreTestModule : AbpModule public class AbpEntityFrameworkCoreTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpEntityFrameworkCoreTestModule>(); context.Services.AddAssemblyOf<AbpEntityFrameworkCoreTestModule>();
services.AddAbpDbContext<TestAppDbContext>(options => context.Services.AddAbpDbContext<TestAppDbContext>(options =>
{ {
options.AddDefaultRepositories(true); options.AddDefaultRepositories(true);
options.ReplaceDbContext<IThirdDbContext>(); options.ReplaceDbContext<IThirdDbContext>();
@ -36,11 +36,11 @@ namespace Volo.Abp.EntityFrameworkCore
var sqliteConnection = CreateDatabaseAndGetConnection(); var sqliteConnection = CreateDatabaseAndGetConnection();
services.Configure<AbpDbContextOptions>(options => context.Services.Configure<AbpDbContextOptions>(options =>
{ {
options.Configure(context => options.Configure(abpDbContextConfigurationContext =>
{ {
context.DbContextOptions.UseSqlite(sqliteConnection); abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
}); });
}); });
} }

4
framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/EventBusTestModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.EventBus
[DependsOn(typeof(AbpEventBusModule))] [DependsOn(typeof(AbpEventBusModule))]
public class EventBusTestModule : AbpModule public class EventBusTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<EventBusTestModule>(); context.Services.AddAssemblyOf<EventBusTestModule>();
} }
} }
} }

10
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs

@ -10,14 +10,14 @@ namespace Volo.Abp.Http
[DependsOn(typeof(AbpAspNetCoreMvcTestModule), typeof(AbpHttpClientModule))] [DependsOn(typeof(AbpAspNetCoreMvcTestModule), typeof(AbpHttpClientModule))]
public class AbpHttpTestModule : AbpModule public class AbpHttpTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpHttpTestModule>(); context.Services.AddAssemblyOf<AbpHttpTestModule>();
services.AddHttpClientProxies(typeof(TestAppModule).Assembly); context.Services.AddHttpClientProxies(typeof(TestAppModule).Assembly);
services.AddHttpClientProxy<IRegularTestController>(); context.Services.AddHttpClientProxy<IRegularTestController>();
services.Configure<RemoteServiceOptions>(options => context.Services.Configure<RemoteServiceOptions>(options =>
{ {
options.RemoteServices.Default = new RemoteServiceConfiguration("/"); options.RemoteServices.Default = new RemoteServiceConfiguration("/");
}); });

6
framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs

@ -108,14 +108,14 @@ namespace Volo.Abp.Localization
[DependsOn(typeof(AbpLocalizationModule))] [DependsOn(typeof(AbpLocalizationModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<TestModule>(); options.FileSets.AddEmbedded<TestModule>();
}); });
services.Configure<AbpLocalizationOptions>(options => context.Services.Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources.Add<LocalizationTestValidationResource>("en").AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/Validation"); options.Resources.Add<LocalizationTestValidationResource>("en").AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/Validation");
options.Resources.Add<LocalizationTestCountryNamesResource>("en").AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/CountryNames"); options.Resources.Add<LocalizationTestCountryNamesResource>("en").AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/CountryNames");

8
framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/AbpMemoryDbTestModule.cs

@ -15,22 +15,22 @@ namespace Volo.Abp.MemoryDb
typeof(AbpAutofacModule))] typeof(AbpAutofacModule))]
public class AbpMemoryDbTestModule : AbpModule public class AbpMemoryDbTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var connStr = Guid.NewGuid().ToString(); var connStr = Guid.NewGuid().ToString();
services.Configure<DbConnectionOptions>(options => context.Services.Configure<DbConnectionOptions>(options =>
{ {
options.ConnectionStrings.Default = connStr; options.ConnectionStrings.Default = connStr;
}); });
services.AddMemoryDbContext<TestAppMemoryDbContext>(options => context.Services.AddMemoryDbContext<TestAppMemoryDbContext>(options =>
{ {
options.AddDefaultRepositories(); options.AddDefaultRepositories();
options.AddRepository<City, CityRepository>(); options.AddRepository<City, CityRepository>();
}); });
services.AddAssemblyOf<AbpMemoryDbTestModule>(); context.Services.AddAssemblyOf<AbpMemoryDbTestModule>();
} }
} }
} }

8
framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs

@ -16,22 +16,22 @@ namespace Volo.Abp.MongoDB
{ {
private MongoDbRunner _mongoDbRunner; private MongoDbRunner _mongoDbRunner;
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
_mongoDbRunner = MongoDbRunner.Start(); _mongoDbRunner = MongoDbRunner.Start();
services.Configure<DbConnectionOptions>(options => context.Services.Configure<DbConnectionOptions>(options =>
{ {
options.ConnectionStrings.Default = _mongoDbRunner.ConnectionString; options.ConnectionStrings.Default = _mongoDbRunner.ConnectionString;
}); });
services.AddMongoDbContext<TestAppMongoDbContext>(options => context.Services.AddMongoDbContext<TestAppMongoDbContext>(options =>
{ {
options.AddDefaultRepositories<ITestAppMongoDbContext>(); options.AddDefaultRepositories<ITestAppMongoDbContext>();
options.AddRepository<City, CityRepository>(); options.AddRepository<City, CityRepository>();
}); });
services.AddAssemblyOf<AbpMongoDbTestModule>(); context.Services.AddAssemblyOf<AbpMongoDbTestModule>();
} }
public override void OnApplicationShutdown(ApplicationShutdownContext context) public override void OnApplicationShutdown(ApplicationShutdownContext context)

4
framework/test/Volo.Abp.Serialization.Tests/Volo/Abp/Serialization/AbpSerializationTestModule.cs

@ -6,9 +6,9 @@ namespace Volo.Abp.Serialization
[DependsOn(typeof(AbpSerializationModule))] [DependsOn(typeof(AbpSerializationModule))]
public class AbpSerializationTestModule : AbpModule public class AbpSerializationTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<AbpSerializationTestModule>(); context.Services.AddAssemblyOf<AbpSerializationTestModule>();
} }
} }
} }

4
framework/test/Volo.Abp.TestApp.Tests/Volo/Abp/TestApp/TestAppTestModule.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.TestApp
[DependsOn(typeof(AbpMemoryDbTestModule))] [DependsOn(typeof(AbpMemoryDbTestModule))]
public class TestAppTestModule : AbpModule public class TestAppTestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<TestAppTestModule>(); context.Services.AddAssemblyOf<TestAppTestModule>();
} }
} }
} }

6
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs

@ -16,11 +16,11 @@ namespace Volo.Abp.TestApp
)] )]
public class TestAppModule : AbpModule public class TestAppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
ConfigureAutoMapper(services); ConfigureAutoMapper(context.Services);
services.AddAssemblyOf<TestAppModule>(); context.Services.AddAssemblyOf<TestAppModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

4
framework/test/Volo.Abp.UI.Navigation.Tests/Volo/Abp/Ui/Navigation/MenuManager_Tests.cs

@ -34,9 +34,9 @@ namespace Volo.Abp.UI.Navigation
[DependsOn(typeof(AbpUiNavigationModule))] [DependsOn(typeof(AbpUiNavigationModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<NavigationOptions>(options => context.Services.Configure<NavigationOptions>(options =>
{ {
options.MenuContributors.Add(new TestMenuContributer1()); options.MenuContributors.Add(new TestMenuContributer1());
options.MenuContributors.Add(new TestMenuContributer2()); options.MenuContributors.Add(new TestMenuContributer2());

12
framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs

@ -149,20 +149,20 @@ namespace Volo.Abp.Validation
[DependsOn(typeof(AbpValidationModule))] [DependsOn(typeof(AbpValidationModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.OnRegistred(context => context.Services.OnRegistred(onServiceRegistredContext =>
{ {
if (typeof(IMyAppService).IsAssignableFrom(context.ImplementationType)) if (typeof(IMyAppService).IsAssignableFrom(onServiceRegistredContext.ImplementationType))
{ {
context.Interceptors.TryAdd<ValidationInterceptor>(); onServiceRegistredContext.Interceptors.TryAdd<ValidationInterceptor>();
} }
}); });
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddType<MyAppService>(); context.Services.AddType<MyAppService>();
} }
} }

2
framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo/Abp/VirtualFileSystem/DynamicFileProvider_Tests.cs

@ -86,7 +86,7 @@ namespace Volo.Abp.VirtualFileSystem
[DependsOn(typeof(AbpVirtualFileSystemModule))] [DependsOn(typeof(AbpVirtualFileSystemModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
} }

4
framework/test/Volo.Abp.VirtualFileSystem.Tests/Volo/Abp/VirtualFileSystem/VirtualFileProvider_Tests.cs

@ -35,9 +35,9 @@ namespace Volo.Abp.VirtualFileSystem
[DependsOn(typeof(AbpVirtualFileSystemModule))] [DependsOn(typeof(AbpVirtualFileSystemModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<TestModule>("Volo.Abp.VirtualFileSystem.MyResources"); options.FileSets.AddEmbedded<TestModule>("Volo.Abp.VirtualFileSystem.MyResources");
}); });

18
modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs

@ -19,32 +19,32 @@ namespace Volo.Abp.Account.Web
[DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))] [DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))]
public class AbpAccountWebModule : AbpModule public class AbpAccountWebModule : AbpModule
{ {
public override void PreConfigureServices(IServiceCollection services) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
services.PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options => context.Services.PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options =>
{ {
options.AddAssemblyResource(typeof(AccountResource), typeof(AbpAccountWebModule).Assembly); options.AddAssemblyResource(typeof(AccountResource), typeof(AbpAccountWebModule).Assembly);
}); });
} }
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<SettingOptions>(options => context.Services.Configure<SettingOptions>(options =>
{ {
options.DefinitionProviders.Add<AccountSettingDefinitionProvider>(); options.DefinitionProviders.Add<AccountSettingDefinitionProvider>();
}); });
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpAccountWebModule>("Volo.Abp.Account.Web"); options.FileSets.AddEmbedded<AbpAccountWebModule>("Volo.Abp.Account.Web");
}); });
services.Configure<NavigationOptions>(options => context.Services.Configure<NavigationOptions>(options =>
{ {
options.MenuContributors.Add(new AbpAccountUserMenuContributor()); options.MenuContributors.Add(new AbpAccountUserMenuContributor());
}); });
services.Configure<AbpLocalizationOptions>(options => context.Services.Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources options.Resources
.Add<AccountResource>("en") .Add<AccountResource>("en")
@ -52,12 +52,12 @@ namespace Volo.Abp.Account.Web
.AddBaseTypes(typeof(AbpUiResource), typeof(AbpValidationResource)); .AddBaseTypes(typeof(AbpUiResource), typeof(AbpValidationResource));
}); });
services.Configure<ToolbarOptions>(options => context.Services.Configure<ToolbarOptions>(options =>
{ {
options.Contributors.Add(new AccountModuleToolbarContributor()); options.Contributors.Add(new AccountModuleToolbarContributor());
}); });
services.AddAssemblyOf<AbpAccountWebModule>(); context.Services.AddAssemblyOf<AbpAccountWebModule>();
} }
} }
} }

4
modules/blogging/app/Volo.BloggingTestApp.EntityFrameworkCore/BloggingTestAppEntityFrameworkCoreModule.cs

@ -16,9 +16,9 @@ namespace Volo.BloggingTestApp.EntityFrameworkCore
typeof(AbpEntityFrameworkCoreSqlServerModule))] typeof(AbpEntityFrameworkCoreSqlServerModule))]
public class BloggingTestAppEntityFrameworkCoreModule : AbpModule public class BloggingTestAppEntityFrameworkCoreModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.AddAssemblyOf<BloggingTestAppEntityFrameworkCoreModule>(); context.Services.AddAssemblyOf<BloggingTestAppEntityFrameworkCoreModule>();
} }
} }
} }

20
modules/blogging/app/Volo.BloggingTestApp/BloggingTestAppModule.cs

@ -43,25 +43,25 @@ namespace Volo.BloggingTestApp
)] )]
public class BloggingTestAppModule : AbpModule public class BloggingTestAppModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var hostingEnvironment = services.GetHostingEnvironment(); var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = services.BuildConfiguration(); var configuration = context.Services.BuildConfiguration();
services.Configure<DbConnectionOptions>(options => context.Services.Configure<DbConnectionOptions>(options =>
{ {
const string connStringName = "SqlServer"; const string connStringName = "SqlServer";
options.ConnectionStrings.Default = configuration.GetConnectionString(connStringName); options.ConnectionStrings.Default = configuration.GetConnectionString(connStringName);
}); });
services.Configure<AbpDbContextOptions>(options => context.Services.Configure<AbpDbContextOptions>(options =>
{ {
options.UseSqlServer(); options.UseSqlServer();
}); });
if (hostingEnvironment.IsDevelopment()) if (hostingEnvironment.IsDevelopment())
{ {
services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.UI"));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI"));
@ -73,7 +73,7 @@ namespace Volo.BloggingTestApp
}); });
} }
services.AddSwaggerGen( context.Services.AddSwaggerGen(
options => options =>
{ {
options.SwaggerDoc("v1", new Info { Title = "Blogging API", Version = "v1" }); options.SwaggerDoc("v1", new Info { Title = "Blogging API", Version = "v1" });
@ -81,19 +81,19 @@ namespace Volo.BloggingTestApp
}); });
var cultures = new List<CultureInfo> { new CultureInfo("en"), new CultureInfo("tr") }; var cultures = new List<CultureInfo> { new CultureInfo("en"), new CultureInfo("tr") };
services.Configure<RequestLocalizationOptions>(options => context.Services.Configure<RequestLocalizationOptions>(options =>
{ {
options.DefaultRequestCulture = new RequestCulture("en"); options.DefaultRequestCulture = new RequestCulture("en");
options.SupportedCultures = cultures; options.SupportedCultures = cultures;
options.SupportedUICultures = cultures; options.SupportedUICultures = cultures;
}); });
services.Configure<ThemingOptions>(options => context.Services.Configure<ThemingOptions>(options =>
{ {
options.DefaultThemeName = BasicTheme.Name; options.DefaultThemeName = BasicTheme.Name;
}); });
services.AddAssemblyOf<BloggingTestAppModule>(); context.Services.AddAssemblyOf<BloggingTestAppModule>();
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

6
modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/BloggingApplicationContractsModule.cs

@ -7,14 +7,14 @@ namespace Volo.Blogging
[DependsOn(typeof(BloggingDomainSharedModule))] [DependsOn(typeof(BloggingDomainSharedModule))]
public class BloggingApplicationContractsModule : AbpModule public class BloggingApplicationContractsModule : AbpModule
{ {
public override void ConfigureServices(IServiceCollection services) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
services.Configure<PermissionOptions>(options => context.Services.Configure<PermissionOptions>(options =>
{ {
options.DefinitionProviders.Add<BloggingPermissionDefinitionProvider>(); options.DefinitionProviders.Add<BloggingPermissionDefinitionProvider>();
}); });
services.AddAssemblyOf<BloggingApplicationContractsModule>(); context.Services.AddAssemblyOf<BloggingApplicationContractsModule>();
} }
} }
} }

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save