我认为.Net Core的社区和有关本地化的文档很差。这就是为什么我有一些问题。
当我在Controller中更改“文化信息”(参见下面的代码)工作正常时,但在此之后我查看“文化信息”在视图中是不同的。请帮我解决这个问题。
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo('en-GB');
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
答案 0 :(得分:1)
因为dotnet核心更关注异步编码意味着每个部分都运行任务。因此控制器动作是1个任务。创建/执行视图是另一项任务(或多项任务)。
任务在不同的线程中运行(由TaskSchedular
)使用池(在任务完成时重用线程)。因此,没有任何保证它在同一个线程中运行。
查看文档:{{3}}。它们提供了完美的工作原理。 (他们告诉您使用:CultureInfo.CurrentCulture
但请阅读文档。
答案 1 :(得分:0)
您可能想要检查此属性:
var cultureInfo = new System.Globalization.CultureInfo('en-GB');
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;