在项目之间共享资源的战略

时间:2011-05-16 15:38:56

标签: c# .net asp.net resources satellite-assembly

我有一个名为Core的中央库(DLL),许多项目都使用它(一些Web应用程序,一些win表单,一些其他类库)。

某些资源存储在Core库中。

当我需要在Core库中使用资源文件时,我需要知道文化信息是什么。因为它有时在win表单应用程序中使用,有时在Web应用程序中使用,我无法真正使用来自HttpContext或CurrentThread的文化。

我想这是一个常见的问题,所以我想知道:

在DAL dll和UI项目之间传递文化信息的好策略是什么?

2 个答案:

答案 0 :(得分:2)

您始终可以从CurrentThread获取文化。它在WinForms和Web应用程序中都受支持。更好的是:你可能根本不需要为此烦恼,因为.NET中的资源管理器将根据当前的文化来处理这个问题。

答案 1 :(得分:1)

您可以为线程设置ui文化。

然后在WinForms的情况下你已经修复了。

在aspnet中,您需要为该线程设置当前的ui文化。您可以为此目的(MVC)在基本控制器的OnActionExecuted中挂接此过程,或使用PreInit事件(webforms)。 这也可以在HttpModule中完成。