繁体   English   中英

自定义 DataAnnotations 本地化 - 仅创建单例对象

[英]Custom DataAnnotations Localization - Create Singleton Object only

我以Askmethat-Aspnet-JsonLocalizer为例,为 IStringLocalizer 和 Factory 创建了基于自定义 JSON 的本地化提供程序,

我也实现了数据注释本地化。 并本地化验证消息。

现在,目前的要求是我可以在不重新启动应用程序的情况下更新基于 Json 的语言文件,这也是通过注入 IStringLocalizer 作为瞬态服务。

但是我观察到的是,一旦为 DataAnnotation 加载了 LocalizedStrings,它就不会在我更新 Json 时更新它不会反映 DataAnnotation 验证消息但如果我使用 IStringLocalizer。

DataAnnotation StringLocalizer 是否有可能是单例?

我已经使用下面的代码来实现 DataAnnotationLocalization 进入启动

services.AddMvcCore()
              .AddDataAnnotations()
              .AddDataAnnotationsLocalization(options =>
              {
                options.DataAnnotationLocalizerProvider = (type, factory) =>
                  factory.Create(string.Empty, string.Empty);
              }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

在这里,工厂实现被注入为瞬态服务。

有没有我遗漏的东西,或者像 DataAnnotation 本地化是单例对象?

我有完全相同的问题,您是否找到了解决方案?

我相信你是对的

DataAnnotation 本地化是单例对象

因为即使在我的情况下,如果工厂在特定文化中创建本地化程序,即使您更改了文化或工厂创建了新的本地化程序,也将使用相同的本地化程序以供​​将来访问(我猜这也可能导致内存泄漏)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM