Browse Source

Merge pull request #11130 from abpframework/maliming/configure

Get the configured actions in advance.
pull/11139/head
Halil İbrahim Kalkan 4 years ago
committed by GitHub
parent
commit
a506db5fc9
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      framework/src/Volo.Abp.Core/Volo/Abp/Options/PreConfigureActionList.cs
  2. 7
      framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs
  3. 3
      framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs
  4. 5
      framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs
  5. 6
      framework/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs

9
framework/src/Volo.Abp.Core/Volo/Abp/Options/PreConfigureActionList.cs

@ -12,5 +12,12 @@ namespace Volo.Abp.Options
action(options); action(options);
} }
} }
public TOptions Configure()
{
var options = Activator.CreateInstance<TOptions>();
Configure(options);
return options;
}
} }
} }

7
framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs

@ -11,18 +11,17 @@ namespace Volo.Abp.EventBus.Rebus
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var options = context.Services.ExecutePreConfiguredActions<AbpRebusEventBusOptions>();;
context.Services.AddTransient(typeof(IHandleMessages<>), typeof(RebusDistributedEventHandlerAdapter<>)); context.Services.AddTransient(typeof(IHandleMessages<>), typeof(RebusDistributedEventHandlerAdapter<>));
var preActions = context.Services.GetPreConfigureActions<AbpRebusEventBusOptions>();
Configure<AbpRebusEventBusOptions>(rebusOptions => Configure<AbpRebusEventBusOptions>(rebusOptions =>
{ {
context.Services.ExecutePreConfiguredActions(rebusOptions); preActions.Configure(rebusOptions);
}); });
context.Services.AddRebus(configure => context.Services.AddRebus(configure =>
{ {
options.Configurer?.Invoke(configure); preActions.Configure().Configurer?.Invoke(configure);
return configure; return configure;
}); });
} }

3
framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs

@ -13,9 +13,10 @@ namespace Volo.Abp.Hangfire
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var preActions = context.Services.GetPreConfigureActions<IGlobalConfiguration>();
context.Services.AddHangfire(configuration => context.Services.AddHangfire(configuration =>
{ {
context.Services.ExecutePreConfiguredActions(configuration); preActions.Configure(configuration);
}); });
} }

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

@ -16,12 +16,11 @@ namespace Volo.Abp.Json
context.Services.TryAddEnumerable(ServiceDescriptor context.Services.TryAddEnumerable(ServiceDescriptor
.Transient<IConfigureOptions<AbpSystemTextJsonSerializerOptions>, AbpSystemTextJsonSerializerOptionsSetup>()); .Transient<IConfigureOptions<AbpSystemTextJsonSerializerOptions>, AbpSystemTextJsonSerializerOptionsSetup>());
var preActions = context.Services.GetPreConfigureActions<AbpJsonOptions>();
Configure<AbpJsonOptions>(options => Configure<AbpJsonOptions>(options =>
{ {
options.Providers.Add<AbpNewtonsoftJsonSerializerProvider>(); options.Providers.Add<AbpNewtonsoftJsonSerializerProvider>();
if (preActions.Configure().UseHybridSerializer)
var abpJsonOptions = context.Services.ExecutePreConfiguredActions<AbpJsonOptions>();
if (abpJsonOptions.UseHybridSerializer)
{ {
options.Providers.Add<AbpSystemTextJsonSerializerProvider>(); options.Providers.Add<AbpSystemTextJsonSerializerProvider>();
} }

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

@ -38,9 +38,10 @@ namespace Volo.Abp.AspNetCore.Mvc.Versioning
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var preActions = context.Services.GetPreConfigureActions<AbpAspNetCoreMvcOptions>();
Configure<AbpAspNetCoreMvcOptions>(options => Configure<AbpAspNetCoreMvcOptions>(options =>
{ {
context.Services.ExecutePreConfiguredActions(options); preActions.Configure(options);
}); });
context.Services.AddAbpApiVersioning(options => context.Services.AddAbpApiVersioning(options =>
@ -51,8 +52,7 @@ 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
var mvcOptions = context.Services.ExecutePreConfiguredActions<AbpAspNetCoreMvcOptions>(); options.ConfigureAbp(preActions.Configure());
options.ConfigureAbp(mvcOptions);
}); });
context.Services.AddHttpClientProxies(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly); context.Services.AddHttpClientProxies(typeof(AbpAspNetCoreMvcVersioningTestModule).Assembly);

Loading…
Cancel
Save