4

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

一些资源存储在核心库中。

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

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

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

4

2 回答 2

2

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

于 2011-05-16T15:59:46.357 回答
1

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

那么你已经在 WinForms 的情况下修复了。

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

于 2011-05-16T16:00:32.440 回答