【发布时间】:2019-08-06 12:47:22
【问题描述】:
我以Askmethat-Aspnet-JsonLocalizer 为例,为 IStringLocalizer 和 Factory 创建了基于 JSON 的自定义本地化提供程序,
我也实现了数据标注本地化。并本地化验证消息。
现在,目前的要求是我可以在不重新启动应用程序的情况下更新基于 Json 的语言文件,这也是通过将 IStringLocalizer 作为瞬态服务注入。
但是我观察到的是,一旦为 DataAnnotation 加载了 LocalizedStrings,它就不会在我更新 Json 时更新它没有反映 DataAnnotation 验证消息但是如果我使用 IStringLocalizer。
DataAnnotation StringLocalizer 有可能是 Singleton 吗?
我已经使用下面的代码来实现 DataAnnotationLocalization 进入启动
services.AddMvcCore()
.AddDataAnnotations()
.AddDataAnnotationsLocalization(options =>
{
options.DataAnnotationLocalizerProvider = (type, factory) =>
factory.Create(string.Empty, string.Empty);
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
在这里,工厂实现作为瞬态服务注入。
有什么我遗漏的还是 DataAnnotation 本地化是单例对象?
【问题讨论】:
标签: asp.net-core .net-core localization asp.net-core-mvc