3.1 migration to 5.0

记入我遇到的问题 : 

 

1. localizer.WithCulture 废弃了

https://github.com/dotnet/aspnetcore/issues/7756 

其实讨论很久了, 只是我不知道而已...替代方案就是直接改 CurrentCulture

看一下源码了解一下, 这个是 startup 的 add service, provide 了一个具体的 factory 

 

 然后 factory 创建 string localizer 

再然后就是我们平常调用到的方法

 

 关键就在这个 GetStriengSafely 了. 虽然 GetStringSafely 是可以换 culture 的, 但是我们平时调用的接口却不可以,所以除非你一路 override 完它, 不然就不能 set culture 了, 那么它就会使用 CurrentUICulture.

其实 set current culture 也没用错啦. request culture provider 最终也是 set current culture 的, 站微软的角度它是一致的,只是对开发写单侧这里就不太方便而已. 

 

posted @ 2020-10-06 17:47  兴杰  阅读(107)  评论(0编辑  收藏  举报