2011-01-14 3 views
1

Мое решение MVC построено с ядром и клиентом, разделенным на него. Ядро определяет большинство приложений, но каждый клиент имеет собственную сборку контроллера и веб-проект.ASP.NET MVC Resource File Strategy

Клиент проекты используют ресурсы для определения:

  • Текст, подлежащий визуализации на страницах разметки
  • отображаемое_имя значения атрибутов на ViewModels
  • Текст для сообщений и т.д. в контроллере
  • и т.д.

Ключевое слово использует его для определения:

  • Исключения сообщения
  • Validation сообщение
  • т.д.

Как есть ресурсы, которые могут существовать только для некоторых клиентов, которые я хотел бы иметь набор ресурсов исключительно для клиента - (ресурсов. Проект ClientName)

Другие ресурсы, используемые ядром, должны быть определены в сборке в ядре.

Это все будет работать нормально, но фактические значения ресурсов по всем направлениям будут варьироваться от клиента к клиенту, так как основной проект ресурса в ядре он не может быть изменен независимо (и основные сборки не могут ссылаться на проекты клиентских ресурсов).

В идеале я бы хотел не встраивать ресурсы в сборку, чтобы эти значения могли быть изменены при производстве без переустановки.

Я уверен, что я собираюсь сделать это неправильно, может ли кто-нибудь дать мне некоторое руководство?

ответ

1

Создайте завод-провайдер ResourceManager и настройте завод в каждом проекте клиента, чтобы предоставить соответствующий ресурс из текущей сборки.

BTW, Если вы не хотите использовать встроенные ресурсы, создайте свой собственный ResourceManager, чтобы он предоставил вам ресурс из любого места, где вам нужно, и настройте завод в каждом проекте клиента.