我疯了.我只想将整个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) 我在 asp net core mvc 中的十进制数字方面遇到了一些问题。我通过将其添加到 web.config 来使其在常规 ASP Net 应用程序中工作:
<system.web>
...
<globalization uiCulture="en" culture="en-US"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)
但是,由于核心应用程序中没有 web.config,我不太确定该怎么做。核心中最接近的近似值会是什么样子?