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