Установите CultureInfo в Asp.net Core, чтобы иметь. как CurrencyDecimalSeparator вместо,

Я схожу с ума. Я просто хочу, чтобы культура, используемая во всем базовом приложении 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);

Но, похоже, ничто не меняет 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();
            app.UseDatabaseErrorPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        app.UseIdentity();

        // Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

        //TODO: Clean up
        //var cultureInfo = new CultureInfo("en-US");
        //System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
        //System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;

        app.UseRequestLocalization();

        // UseCookieAuthentication..
        // UseJwtBearerAuthentication..

        //add userculture provider for authenticated user
        var requestOpt = new RequestLocalizationOptions();
        requestOpt.SupportedCultures = new List<CultureInfo>
        {
            new CultureInfo("en-US")
        };
        requestOpt.SupportedUICultures = new List<CultureInfo>
        {
            new CultureInfo("en-US")
        };
        requestOpt.RequestCultureProviders.Clear();
        requestOpt.RequestCultureProviders.Add(new SingleCultureProvider());

        app.UseRequestLocalization(requestOpt);

        FinOsDbContext.Initialize(context);
        FinOsDbContext.CreateTestData(context);
    }

    public class SingleCultureProvider : IRequestCultureProvider
    {
        public Task<ProviderCultureResult> DetermineProviderCultureResult(HttpContext httpContext)
        {
            return Task.Run(() => new ProviderCultureResult("en-US", "en-US"));
        }
    }

Ответы на вопрос(3)

Ваш ответ на вопрос