我正在使用ASP.NET Web API 2,
我有错误的resx文件,我需要以正确的语言(按用户文化)返回错误。
我的解决方案是
1)我创建了所有其他控制器都将继承的BaseApiController。
2)在BaseApiController中,我为每个请求更改了Thread.CurrentThread.CurrentCulture。
我的问题是,这是否是正确的做法?
非常感谢!
答案 0 :(得分:0)
有很多方法可以做到这一点。它实际上取决于您的架构。你的方式也可以接受。如果您使用自己的方式,您将实现ResourceManager。让我举几个例子:
您可以将语言代码保留在请求标头中,但您并不需要 改变Thread.CurrentThread.CurrentCulture。
您可以使用语言代码将错误存储在数据库中,您可以获得 操作时与活动文化相对应的错误 失败。
您可以使用语言代码在缓存中存储错误,您可以获得 操作时与活动文化相对应的错误 失败。
如您所见,有很多方法。正如我所说,这取决于你的架构。
祝你好运