0

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

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

我的解决方案是

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

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

我的问题是这是否是正确的方法?

非常感谢!

4

1 回答 1

0

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

  1. 您可以将语言代码保留在请求标头中,无需更改 Thread.CurrentThread.CurrentCulture。

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

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

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

祝你好运

于 2017-09-20T07:52:46.163 回答