在域服务中设置 LocalizationSourceName
set LocalizationSourceName in domain service
我有一个 class 扩展 DomainService 摘要 class 如下:
public class ScheduleManager : DomainService, IScheduleManager
以下行不起作用:
throw new UserFriendlyException(L("ScheduleIsNotValid"));
因为:
Abp.AbpException: 必须先设置LocalizationSourceName,才能获取LocalizationSource
只是想知道设置 LocalizationSourceName 的正确位置在哪里,就像在 MyCarParkControllerBase 中设置的那样,但是在核心(域)层中?
顺便说一下,在 UserRegistrationManager class 中有两种本地化用法:
Line 96 >>> throw new UserFriendlyException(L("UnknownTenantId{0}", tenantId));
Line 101 >>> throw new UserFriendlyException(L("TenantIdIsNotActive{0}", tenantId));
由于同样的问题而失败!
干杯,
在核心项目中,为 DomainService 创建一个抽象基础 class。
在构造函数中设置本地化源。
就是这样!
更清楚一点:
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;
}
我有一个 class 扩展 DomainService 摘要 class 如下:
public class ScheduleManager : DomainService, IScheduleManager
以下行不起作用:
throw new UserFriendlyException(L("ScheduleIsNotValid"));
因为: Abp.AbpException: 必须先设置LocalizationSourceName,才能获取LocalizationSource
只是想知道设置 LocalizationSourceName 的正确位置在哪里,就像在 MyCarParkControllerBase 中设置的那样,但是在核心(域)层中?
顺便说一下,在 UserRegistrationManager class 中有两种本地化用法:
Line 96 >>> throw new UserFriendlyException(L("UnknownTenantId{0}", tenantId));
Line 101 >>> throw new UserFriendlyException(L("TenantIdIsNotActive{0}", tenantId));
由于同样的问题而失败!
干杯,
在核心项目中,为 DomainService 创建一个抽象基础 class。 在构造函数中设置本地化源。 就是这样!
更清楚一点:
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;
}