如何改变 Windows 服务中的文化?

Posted

技术标签:

【中文标题】如何改变 Windows 服务中的文化?【英文标题】:How to change culture in Windows Service? 【发布时间】:2016-08-15 18:27:51 【问题描述】:

我有一项使用资源文件以英语和葡萄牙语发送电子邮件的服务。但是我已经尝试了下面的解决方案,但没有成功。

即使输入“pt-BR”也始终保留为“en-US”。

Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("pt-BR");

【问题讨论】:

【参考方案1】:

有必要检查本地化是否已构建并与其他二进制文件一起复制到文件夹中。如果没有,我建议您将它们设为公共嵌入资源,并在构建脚本中将<CreateItem ...> </ CreateItem>bin-resources 部分标记为二进制文件。

例如,并非如此:

<CreateItem Include="$(ServiceBinPath)\*.*">

但是像这样:

<CreateItem Include="$(ServiceBinPath)\**\*.*">

因为其他语言环境构建到子文件夹 bin\en\、bin\fr\ 等。

其余的 - 您指定足以更改语言环境的方法。

【讨论】:

以上是关于如何改变 Windows 服务中的文化?的主要内容,如果未能解决你的问题,请参考以下文章

如何改变文化?

使用单个 Windows 服务托管 4 个不同的 WCF 项目。如何?

如何更改 Azure 函数中的 PowerShell 文化

如何修改 Blazor(服务器)中的当前文化日期格式?

Sql Server:一旦我移动到另一台服务器,文化就会改变。 c# .NET

如何与“。”保持一致文化改变后的十进制 ToString