4

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

public class ScheduleManager : DomainService, IScheduleManager

以下行不起作用:

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

因为:Abp.AbpException: Must set LocalizationSourceName before,才能得到LocalizationSource

只是想知道设置 LocalizationSourceName 的正确位置,就像在 MyCarParkControllerBase 中设置的那样,但在核心(域)层中?

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

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

由于同样的问题而失败!

干杯,

4

2 回答 2

2

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

在此处输入图像描述

于 2017-07-07T11:50:23.730 回答
0

只是为了更清楚:

AbpServiceBase实现属性LocalizationSourceName

protected string LocalizationSourceName { get; set; }

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

MyProjectLocalizationConfigurer.Configure(Configuration.Localization);

Configure方法中您可以看到本地化的名称,这个名称需要在构造函数中使用,如@Alber Ebicoglu 已经显示的。

像这样:

public AbpLoginResultTypeHelper(IAccountAppService accountAppService)
{
    LocalizationSourceName = MyProjectConsts.LocalizationSourceName; //Localization name
    _accountAppService = accountAppService;
}
于 2020-03-04T00:10:49.000 回答