在域服务中设置LocalizationSourceName

时间:2017-07-06 02:14:13

标签: aspnetboilerplate

我有一个扩展DomainService抽象类的类,如下所示:

public class ScheduleManager : DomainService, IScheduleManager

以下行不起作用:

throw new UserFriendlyException(L("ScheduleIsNotValid"));

因为: Abp.AbpException:必须先设置LocalizationSourceName才能获得LocalizationSource

只是想知道设置LocalizationSourceName的位置在哪里,就像在MyCarParkControllerBase中设置的那样,但在Core(Domain)层中?

顺便说一下,UserRegistrationManager类中有两种本地化用法:

Line 96 >>> throw new UserFriendlyException(L("UnknownTenantId{0}", tenantId));
Line  101 >>> throw new UserFriendlyException(L("TenantIdIsNotActive{0}", tenantId));

由于同样的问题,这是失败的!

干杯,

2 个答案:

答案 0 :(得分:0)

在Core项目中,为DomainService创建一个抽象基类。 在构造函数中设置本地化源。 就是这样!

enter image description here

答案 1 :(得分:0)

请更加清楚:

AbpServiceBase实现属性LocalizationSourceName

protected string LocalizationSourceName { get; set; }

核心模块中,您可以在PreInitialize中找到本地化配置程序:

MyProjectLocalizationConfigurer.Configure(Configuration.Localization);

Configure方法中,您可以看到Localization的名称,该名称需要在已经显示的@Alber Ebicoglu之类的构造函数中使用。

赞:

public AbpLoginResultTypeHelper(IAccountAppService accountAppService)
{
    LocalizationSourceName = MyProjectConsts.LocalizationSourceName; //Localization name
    _accountAppService = accountAppService;
}