Стратегия для распределения ресурсов между проектами - PullRequest
4 голосов
/ 16 мая 2011

У меня есть центральная библиотека (DLL) под названием Core, которая используется во многих проектах (некоторые веб-приложения, некоторые формы win, некоторые другие библиотеки классов).

Некоторые ресурсы хранятся в библиотеке Core.

Когда мне нужно использовать файл ресурсов в библиотеке Core, мне нужно знать, что такое информация о культуре.Поскольку он иногда используется в приложении win form, иногда в веб-приложении, я не могу использовать культуру из HttpContext или CurrentThread.

Я полагаю, что это распространенная проблема, поэтому мне интересно,:

Какова хорошая стратегия передачи информации о культуре между dll-библиотеками и проектами пользовательского интерфейса?

Ответы [ 2 ]

2 голосов
/ 16 мая 2011

Вы всегда можете получить культуру из CurrentThread.Он поддерживается как в WinForms, так и в веб-приложениях.Еще лучше: вам, вероятно, не нужно будет об этом беспокоиться вообще, поскольку менеджер ресурсов в .NET справится с этим на основе текущей культуры.

1 голос
/ 16 мая 2011

Вы можете установить культуру пользовательского интерфейса для потока.

Тогда вы уже исправлены в случае WinForms.

В aspnet вам потребуется установить текущую культуру пользовательского интерфейса для потока.Для этой цели вы можете подключить эту процедуру в OnActionExecuted базового контроллера (MVC) или использовать событие PreInit (веб-формы).Это также можно сделать в HttpModule.

...