asp.net-web-api使用文化返回不同语言的错误

时间:2017-09-17 14:49:01

标签: asp.net-web-api asp.net-web-api2 culture webapi2

我正在使用ASP.NET Web API 2,

我有错误的resx文件,我需要以正确的语言(按用户文化)返回错误。

我的解决方案是

1)我创建了所有其他控制器都将继承的BaseApiController。

2)在BaseApiController中,我为每个请求更改了Thread.CurrentThread.CurrentCulture。

我的问题是,这是否是正确的做法?

非常感谢!

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。它实际上取决于您的架构。你的方式也可以接受。如果您使用自己的方式,您将实现ResourceManager。让我举几个例子:

  1. 您可以将语言代码保留在请求标头中,但您并不需要 改变Thread.CurrentThread.CurrentCulture。

  2. 您可以使用语言代码将错误存储在数据库中,您可以获得     操作时与活动文化相对应的错误     失败。

  3. 您可以使用语言代码在缓存中存储错误,您可以获得     操作时与活动文化相对应的错误     失败。

  4. 如您所见,有很多方法。正如我所说,这取决于你的架构。

    祝你好运