c# - 缺少小数分隔符
问题描述
当我在生产服务器上发布并运行我的应用程序时,小数分隔符(用于十进制类型数字)正在消失(用于背景计算和显示)。例如:26,1205 -> 261205
它仅发生在远程 Windows Server 2019 Standard 上。这就是我所做的,但它仍然没有帮助:
我在方法中设置CultureInfo
了应用程序:Startup.cs
Configure
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 }
});
解决方案
感谢用户先生。Matthew Watson 指导我正确。
应用程序为货币操作执行延迟的计划后台任务(使用BackgroundService
类)。该线程的问题是实际的。CultureInfo
所以我在执行操作之前明确设置。
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
...
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
...
}
推荐阅读
- python - 弹性搜索连接
- reactjs - 使用 reactstrap 切换手风琴功能?
- azure - 尝试运行 Get-AzStorageBlob 时出错
- r - 收到“不允许从闪亮输出对象读取”。运行代码时出错?
- javascript - 在 CSS 中单击按钮时触发水动画
- file - TensorFlow 无法从文件路径加载图像文件
- antlr - Antlr 查找带有 ' 的单个字符
- c# - 捕获唯一约束异常并重试不使用 C# 的 Web API
- python - 为什么在windows上使用python多处理时打印三遍?
- c++ - IntelliSenseMode 根据编译器参数和查询 compilerPath: "C:\MinGW\bin\gcc.exe" 从 "windows-gcc-x64" 更改为 "windows-gcc-x86"