mirror of https://github.com/abpframework/abp.git
13 changed files with 94 additions and 76 deletions
@ -1,28 +0,0 @@ |
|||
using System.Collections.Generic; |
|||
using Microsoft.AspNetCore.Builder; |
|||
using Microsoft.Extensions.Options; |
|||
using Volo.Abp.Options; |
|||
|
|||
namespace Microsoft.AspNetCore.RequestLocalization |
|||
{ |
|||
public class AbpRequestLocalizationOptionsFactory : AbpOptionsFactory<RequestLocalizationOptions> |
|||
{ |
|||
private readonly IAbpRequestLocalizationOptionsProvider _abpRequestLocalizationOptionsProvider; |
|||
|
|||
public AbpRequestLocalizationOptionsFactory( |
|||
IAbpRequestLocalizationOptionsProvider abpRequestLocalizationOptionsProvider, |
|||
IEnumerable<IConfigureOptions<RequestLocalizationOptions>> setups, |
|||
IEnumerable<IPostConfigureOptions<RequestLocalizationOptions>> postConfigures) |
|||
: base( |
|||
setups, |
|||
postConfigures) |
|||
{ |
|||
_abpRequestLocalizationOptionsProvider = abpRequestLocalizationOptionsProvider; |
|||
} |
|||
|
|||
public override RequestLocalizationOptions Create(string name) |
|||
{ |
|||
return _abpRequestLocalizationOptionsProvider.GetLocalizationOptions(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Builder; |
|||
using Microsoft.Extensions.Options; |
|||
using Volo.Abp.Options; |
|||
|
|||
namespace Microsoft.AspNetCore.RequestLocalization |
|||
{ |
|||
public class AbpRequestLocalizationOptionsManager : AbpDynamicOptionsManager<RequestLocalizationOptions> |
|||
{ |
|||
private RequestLocalizationOptions _options; |
|||
|
|||
private readonly IAbpRequestLocalizationOptionsProvider _abpRequestLocalizationOptionsProvider; |
|||
|
|||
public AbpRequestLocalizationOptionsManager( |
|||
IOptionsFactory<RequestLocalizationOptions> factory, |
|||
IAbpRequestLocalizationOptionsProvider abpRequestLocalizationOptionsProvider) |
|||
: base(factory) |
|||
{ |
|||
_abpRequestLocalizationOptionsProvider = abpRequestLocalizationOptionsProvider; |
|||
} |
|||
|
|||
public override RequestLocalizationOptions Get(string name) |
|||
{ |
|||
return _options ?? base.Get(name); |
|||
} |
|||
|
|||
protected override async Task OverrideOptionsAsync(string name, RequestLocalizationOptions options) |
|||
{ |
|||
_options = await _abpRequestLocalizationOptionsProvider.GetLocalizationOptionsAsync(); |
|||
} |
|||
} |
|||
} |
|||
@ -1,36 +1,22 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using Microsoft.Extensions.Options; |
|||
using Volo.Abp.Options; |
|||
using Volo.Abp.Settings; |
|||
using Volo.Abp.Threading; |
|||
|
|||
namespace Volo.Abp.Ldap |
|||
{ |
|||
public class AbpAbpLdapOptionsFactory : AbpOptionsFactory<AbpLdapOptions> |
|||
public class AbpAbpLdapOptionsManager : AbpDynamicOptionsManager<AbpLdapOptions> |
|||
{ |
|||
protected ISettingProvider SettingProvider { get; } |
|||
|
|||
public AbpAbpLdapOptionsFactory( |
|||
IEnumerable<IConfigureOptions<AbpLdapOptions>> setups, |
|||
IEnumerable<IPostConfigureOptions<AbpLdapOptions>> postConfigures, |
|||
ISettingProvider settingProvider) |
|||
: base(setups, postConfigures) |
|||
public AbpAbpLdapOptionsManager(IOptionsFactory<AbpLdapOptions> factory, ISettingProvider settingProvider) |
|||
: base(factory) |
|||
{ |
|||
SettingProvider = settingProvider; |
|||
} |
|||
|
|||
public override AbpLdapOptions Create(string name) |
|||
{ |
|||
var options = base.Create(name); |
|||
|
|||
AsyncHelper.RunSync(() => OverrideOptionsAsync(options)); |
|||
|
|||
return options; |
|||
} |
|||
|
|||
protected virtual async Task OverrideOptionsAsync(AbpLdapOptions options) |
|||
protected override async Task OverrideOptionsAsync(string name, AbpLdapOptions options) |
|||
{ |
|||
options.ServerHost = await GetSettingOrDefaultValue(LdapSettingNames.ServerHost, options.ServerHost); |
|||
options.ServerPort = await SettingProvider.GetAsync(LdapSettingNames.ServerPort, options.ServerPort); |
|||
Loading…
Reference in new issue