[英]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.