2017-02-19 12 views
0

Я работаю на интернационализации сайта Я использую mvc5.Управление файлами ресурсов при производстве

Текст на diffrent языках хранятся в файлах ресурсов:

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

Но проблема в том, что мне нужно опубликовать решение и перенести его на рабочий сервер. В то время как на рабочем сервере во время выполнения может потребоваться изменить текст в файлах ресурсов во время выполнения.

Итак, можно ли изменить файлы ресурсов без повторной компиляции приложения?

+0

Это может быть, помогает? - http://stackoverflow.com/questions/3479922/how-to-switch-resx-at-runtime –

ответ

1

Если я правильно понял, если вы хотите добавить/удалить/обновить содержимое файлов ресурсов, вам необходимо перекомпилировать их.

В противном случае, если вы хотите переключиться между файлами ресурсов, как показано в @JamesP, вам просто нужно установить культуру текущего потока на лету.

Обязательно сделайте это в BaseController и переопределите базовый метод (я использую protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)). Поэтому он будет установлен перед любыми действиями контроллера. Он должен быть установлен для каждого вызова, поскольку MVC находится в одном потоке по базе вызовов.

для полного рабочего примера, вы можете проверить эту статью: http://afana.me/archive/2011/01/14/aspnet-mvc-internationalization.aspx/

Смежные вопросы