我有一个名为Core的中央库(DLL),许多项目都使用它(一些Web应用程序,一些win表单,一些其他类库)。
某些资源存储在Core库中。
当我需要在Core库中使用资源文件时,我需要知道文化信息是什么。因为它有时在win表单应用程序中使用,有时在Web应用程序中使用,我无法真正使用来自HttpContext或CurrentThread的文化。
我想这是一个常见的问题,所以我想知道:
在DAL dll和UI项目之间传递文化信息的好策略是什么?
答案 0 :(得分:2)
您始终可以从CurrentThread获取文化。它在WinForms和Web应用程序中都受支持。更好的是:你可能根本不需要为此烦恼,因为.NET中的资源管理器将根据当前的文化来处理这个问题。
答案 1 :(得分:1)
您可以为线程设置ui文化。
然后在WinForms的情况下你已经修复了。
在aspnet中,您需要为该线程设置当前的ui文化。您可以为此目的(MVC)在基本控制器的OnActionExecuted中挂接此过程,或使用PreInit事件(webforms)。 这也可以在HttpModule中完成。