Browse Source

Merge pull request #470 from colinin/fix-pre-configure

fix: IServiceCollection.ExecutePreConfiguredActions extension should be in the service before starting
pull/474/head
yx lin 4 years ago
committed by GitHub
parent
commit
7e5dc667e1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN/Abp/EventBus/CAP/AbpCAPEventBusModule.cs
  2. 8
      aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Dashboard/LINGYUN/Abp/Hangfire/Dashboard/AbpHangfireDashboardModule.cs
  3. 21
      aspnet-core/modules/common/LINGYUN.Abp.Localization.Dynamic/LINGYUN/Abp/Localization/Dynamic/DynamicLocalizationInitializeService.cs
  4. 6
      aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN/Abp/Notifications/Sms/AbpNotificationsSmsModule.cs
  5. 7
      aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN/Abp/Notifications/AbpNotificationModule.cs
  6. 3
      aspnet-core/modules/oss-management/LINGYUN.Abp.BlobStoring.OssManagement/README.md
  7. 8
      aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/AbpNotificationsWeChatMiniProgramModule.cs
  8. 3
      aspnet-core/modules/workflow/LINGYUN.Abp.WorkflowCore/LINGYUN/Abp/WorkflowCore/AbpWorkflowCoreModule.cs
  9. 3
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
  10. 1
      build/modules.dependencies.json

8
aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN/Abp/EventBus/CAP/AbpCAPEventBusModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.Configuration;
using DotNetCore.CAP;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EventBus;
using Volo.Abp.Modularity;
@ -23,13 +24,16 @@ namespace LINGYUN.Abp.EventBus.CAP
context.Services.AddTransient<IFailedThresholdCallbackNotifier, FailedThresholdCallbackNotifier>();
var preActions = context.Services.GetPreConfigureActions<CapOptions>();
context.Services.AddCAPEventBus(options =>
{
// 取消默认的五分钟高频清理
// options.CollectorCleaningInterval = 360_0000;
configuration.GetSection("CAP:EventBus").Bind(options);
context.Services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
if (options.FailedThresholdCallback == null)
{
options.FailedThresholdCallback = async (failed) =>

8
aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Dashboard/LINGYUN/Abp/Hangfire/Dashboard/AbpHangfireDashboardModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Hangfire;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Authorization;
using Volo.Abp.Hangfire;
using Volo.Abp.Modularity;
@ -12,10 +13,13 @@ namespace LINGYUN.Abp.Hangfire.Dashboard
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var preActions = context.Services.GetPreConfigureActions<DashboardOptions>();
context.Services.AddTransient(serviceProvider =>
{
var options = serviceProvider.GetRequiredService<AbpHangfireDashboardOptionsProvider>().Get();
return context.Services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
return options;
});
}
}

21
aspnet-core/modules/common/LINGYUN.Abp.Localization.Dynamic/LINGYUN/Abp/Localization/Dynamic/DynamicLocalizationInitializeService.cs

@ -1,5 +1,6 @@
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using System;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Localization;
@ -24,20 +25,24 @@ namespace LINGYUN.Abp.Localization.Dynamic
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
foreach (var resource in LocalizationOptions.Resources)
try
{
foreach (var contributor in resource.Value.Contributors)
foreach (var resource in LocalizationOptions.Resources)
{
if (contributor.GetType().IsAssignableFrom(typeof(DynamicLocalizationResourceContributor)))
foreach (var contributor in resource.Value.Contributors)
{
var resourceLocalizationDic = await Store
.GetLocalizationDictionaryAsync(
resource.Value.ResourceName,
stoppingToken);
DynamicOptions.AddOrUpdate(resource.Value.ResourceName, resourceLocalizationDic);
if (contributor.GetType().IsAssignableFrom(typeof(DynamicLocalizationResourceContributor)))
{
var resourceLocalizationDic = await Store
.GetLocalizationDictionaryAsync(
resource.Value.ResourceName,
stoppingToken);
DynamicOptions.AddOrUpdate(resource.Value.ResourceName, resourceLocalizationDic);
}
}
}
}
catch (OperationCanceledException) { } // 忽略此异常
}
}
}

6
aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN/Abp/Notifications/Sms/AbpNotificationsSmsModule.cs

@ -11,16 +11,18 @@ namespace LINGYUN.Abp.Notifications.Sms
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var preSmsActions = context.Services.GetPreConfigureActions<AbpNotificationsSmsOptions>();
Configure<AbpNotificationsSmsOptions>(options =>
{
context.Services.ExecutePreConfiguredActions(options);
preSmsActions.Configure(options);
});
Configure<AbpNotificationOptions>(options =>
{
options.PublishProviders.Add<SmsNotificationPublishProvider>();
var smsOptions = context.Services.ExecutePreConfiguredActions<AbpNotificationsSmsOptions>();
var smsOptions = preSmsActions.Configure();
options.NotificationDataMappings
.MappingDefault(
SmsNotificationPublishProvider.ProviderName,

7
aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN/Abp/Notifications/AbpNotificationModule.cs

@ -49,7 +49,7 @@ namespace LINGYUN.Abp.Notifications
}
}
private static void AutoAddDefinitionProviders(IServiceCollection services)
private void AutoAddDefinitionProviders(IServiceCollection services)
{
var definitionProviders = new List<Type>();
@ -61,9 +61,10 @@ namespace LINGYUN.Abp.Notifications
}
});
services.Configure<AbpNotificationOptions>(options =>
var preActions = services.GetPreConfigureActions<AbpNotificationOptions>();
Configure<AbpNotificationOptions>(options =>
{
services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
options.DefinitionProviders.AddIfNotContains(definitionProviders);
});
}

3
aspnet-core/modules/oss-management/LINGYUN.Abp.BlobStoring.OssManagement/README.md

@ -41,9 +41,10 @@ public class YouProjectModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var preActions = context.Services.GetPreConfigureActions<AbpBlobStoringOptions>();
Configure<AbpBlobStoringOptions>(options =>
{
services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
// YouContainer use oss management
options.Containers.Configure<YouContainer>((containerConfiguration) =>
{

8
aspnet-core/modules/wechat/LINGYUN.Abp.Notifications.WeChat.MiniProgram/LINGYUN/Abp/Notifications/WeChat/MiniProgram/AbpNotificationsWeChatMiniProgramModule.cs

@ -10,17 +10,19 @@ namespace LINGYUN.Abp.Notifications.WeChat.MiniProgram
public class AbpNotificationsWeChatMiniProgramModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
{
var preActions = context.Services.GetPreConfigureActions<AbpNotificationsWeChatMiniProgramOptions>();
Configure<AbpNotificationsWeChatMiniProgramOptions>(options =>
{
context.Services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
});
Configure<AbpNotificationOptions>(options =>
{
options.PublishProviders.Add<WeChatMiniProgramNotificationPublishProvider>();
var wechatOptions = context.Services.ExecutePreConfiguredActions<AbpNotificationsWeChatMiniProgramOptions>();
var wechatOptions = preActions.Configure();
options.NotificationDataMappings
.MappingDefault(WeChatMiniProgramNotificationPublishProvider.ProviderName,
data => NotificationData.ToStandardData(wechatOptions.DefaultMsgPrefix, data));

3
aspnet-core/modules/workflow/LINGYUN.Abp.WorkflowCore/LINGYUN/Abp/WorkflowCore/AbpWorkflowCoreModule.cs

@ -36,9 +36,10 @@ namespace LINGYUN.Abp.WorkflowCore
public override void ConfigureServices(ServiceConfigurationContext context)
{
var preActions = context.Services.GetPreConfigureActions<WorkflowOptions>();
context.Services.AddWorkflow(options =>
{
context.Services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
});
context.Services.AddWorkflowDSL();

3
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs

@ -44,9 +44,10 @@ public partial class WorkflowManagementHttpApiHostModule
private void ConfigureBlobStoring(IServiceCollection services, IConfiguration configuration)
{
var preActions = services.GetPreConfigureActions<AbpBlobStoringOptions>();
Configure<AbpBlobStoringOptions>(options =>
{
services.ExecutePreConfiguredActions(options);
preActions.Configure(options);
options.Containers.Configure<WorkflowContainer>((containerConfiguration) =>
{
containerConfiguration.UseOssManagement(config =>

1
build/modules.dependencies.json

@ -58,6 +58,7 @@
"LINGYUN.Abp.Features.LimitValidation.Redis.dll",
"LINGYUN.Abp.WorkflowManagement.Application.Contracts.dll",
"LINGYUN.Abp.WorkflowManagement.Domain.Shared.dll",
"LINGYUN.Abp.BackgroundTasks.Abstractions.dll",
"LINGYUN.Abp.TaskManagement.Application.Contracts.dll",
"LINGYUN.Abp.TaskManagement.Domain.Shared.dll"
]

Loading…
Cancel
Save