我疯了.我只想将整个Asp.net核心应用程序中使用的文化设置为"en-US".但似乎没有任何效果.我在哪里设置整个应用程序的文化?我对客户端浏览器文化并不感兴趣.唯一似乎改变它的是改变Windows的语言设置.我只是希望从应用程序本身而不是客户端确定文化.
到目前为止我尝试了什么:
<system.web><globalization uiCulture="en" culture="en-US" /></system.web>在web.config中设置System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;并CurrentUICulture在Startup.Configure中,甚至在控制器中.使用app.UseRequestLocalization(..如下所示
var enUsCulture = new CultureInfo("en-US");
var localizationOptions = new RequestLocalizationOptions()
{
SupportedCultures = new List<CultureInfo>()
{
enUsCulture
},
SupportedUICultures = new List<CultureInfo>()
{
enUsCulture
},
DefaultRequestCulture = new RequestCulture(enUsCulture),
FallBackToParentCultures = false,
FallBackToParentUICultures = false,
RequestCultureProviders = null
};
app.UseRequestLocalization(localizationOptions);
Run Code Online (Sandbox Code Playgroud)但似乎没有任何东西可以将CurrencyDecimalSeparator从(nl-NL)更改为(en-US).
如何设定文化?
编辑:
@soren这是configure方法的样子.我已经设置了一个断点,DetermineProviderCultureResult但在访问该网站时它从未被击中过.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, FinOsDbContext context)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage(); …Run Code Online (Sandbox Code Playgroud) 我一直在使用以下设置web.config我以前的应用程序.
<system.web>
<globalization culture="en-AU" uiCulture="en-AU" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
现在在我的新.net核心项目中,我不知道如何将此设置放在appsettings.json文件中.
谢谢你的帮助,尼古拉