When i publish and run my app on production server decimal separator (for decimal type numbers) is disappearing (for background calculations and for for display). eg: 26,1205 -> 261205
It only happens on remote Windows Server 2019 Standard. That's what I did, but it doesn't help still:
I set CultureInfo
for application in Startup.cs
in Configure
method:
var defaultDateCulture = "ru-RU"; //no matter what culture is set here (en, ru, etc), it applied locally but not on production
var ci = new CultureInfo(defaultDateCulture);
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(ci),
SupportedCultures = new List<CultureInfo> { ci },
SupportedUICultures = new List<CultureInfo> { ci }
});
Thanks to user mr. Matthew Watson for guiding me right.
App executes delayed scheduled background task for currency operations (using BackgroundService
class). The problem was actual for that thread. So i explicitly set CultureInfo
right before performing operations.
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
...
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
...
}