[英]Why is Culture Info different in controller and view in .NET Core MVC
我認為.Net Core的社區和有關本地化的文檔很差。 這就是為什么我有一些問題。
當我在Controller中更改“文化信息”(參見下面的代碼)運行良好,但在此之后我查看視圖中的“文化信息”是不同的。 請幫我解決這個問題。
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo('en-GB');
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
因為dotnet核心更關注異步編碼意味着每個部分都運行任務。 因此控制器動作是1個任務。 創建/執行視圖是另一項任務(或多項任務)。
任務使用池在不同的線程中運行(通過TaskSchedular
)(在任務完成時重新使用線程)。 因此沒有保證它在同一個線程中運行。
請查看文檔: https : //docs.microsoft.com/en-us/aspnet/core/fundamentals/localization 。 它們提供了完美的工作原理。 (他們告訴你使用: CultureInfo.CurrentCulture
但請閱讀文檔)。
您可能想要檢查此屬性:
var cultureInfo = new System.Globalization.CultureInfo('en-GB');
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.