如何显示本地化的异常消息

时间:2016-09-12 23:33:47

标签: c# wcf localization globalization

我需要以本地化语言显示WCF服务的Exception消息,这与英语不同。例如,如果我在我的代码中的任何地方运行此指令:

throw new ArgumentNullException(name, "El parámetro es obligatorio.");

结果显示“Elparámetroesobligatorio。参数名称:XXXX”文本。

我需要将“参数名称”文本翻译成西班牙语。我想我需要修改线程文化,但我不知道如何做到这一点,因为这是一个WCF服务。

1 个答案:

答案 0 :(得分:1)

如果语言依赖于特定的客户端,我将使用该语言的附加参数创建服务功能的重载,并设置CurrentCulture和CurrentUICulture。

如果语言不依赖于客户端(即整个站点的语言相同),请在启动时将其设置为某个语言。请注意,新线程从Windows继承语言,而不是从父线程继承,因此您必须为每个新创建的线程再次设置它(较新版本的.Net框架允许覆盖该行为)。

在任何情况下,请确保已安装框架的语言包。