Какими преимуществами является использования .resx локализация для приложения MVC ASP.NET?

Например, в приложении с графическим интерфейсом вы начинаете решать в фоновом (рабочем) потоке. В этом сценарии вы можете остановить решатель асинхронно, вызвав solver.terminateEarly() из другого потока, обычно потока пользовательского интерфейса, когда вы нажимаете кнопку остановки.

Если это не то, что вы ищете, читайте дальше.

При условии, что под вычислением вы на самом деле подразумеваете время, затраченное на решение, у вас есть несколько вариантов, как остановить решатель. Помимо асинхронного завершения, описанного в первом абзаце, вы можете использовать синхронное завершение:

  1. Используйте время, потраченное , если вы знаете, сколько времени вы хотите посвятить решению заранее.
  2. Используйте не улучшенное время, потраченное на завершение, если вы хотите прекратить решение, если решение не улучшается в течение определенного периода времени.
  3. Используйте окончание с лучшим счетом , если хотите прекратить решение после достижения определенного результата.

Синхронное завершение определяется перед запуском решателя и выполняется либо с помощью конфигурации решателя XML, либо с помощью API SolverConfig. См. документацию OptaPlanner для других условий завершения.

И наконец, если вы говорите о подсчете очков , и вычисление очков за один ход (изменение решения) занимает слишком много времени, тогда вы наверняка делаете что-то не так. Чтобы OptaPlanner мог эффективно выполнять поиск в пространстве решений, вычисление должно быть быстрым (не менее 1000 вычислений в секунду).

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

9
задан Community 23 May 2017 в 12:00
поделиться

3 ответа

Существует несколько преимуществ для инфраструктуры RESX:

  • Вы не должны загружать надлежащие ресурсы на язык. После того как локаль потока устанавливается, СБРОС заботится о нахождении соответствующего блока и загрузке ресурсов.
  • легко вручить от определенных для локали ресурсов для локализаций третьим лицам.
  • существует механизм нейтрализации по умолчанию для нелокализованных ресурсов.

Существует также один конкретный недостаток к подходу RESX:

  • трудно поддерживать модель перевода, где пользователи переводят Ваши ресурсы для Вас.

Я хотел бы уточнить немного о той последней точке. Возьмите, например, модель перевода Facebook. Facebook имеет довольно простой способ для людей обеспечить и голосовать по переводам различных ресурсов. Если бы они хранятся в базе данных, было бы возможно использовать их после надлежащего редакционного процесса, не восстанавливая и повторно развертывая приложение. С моделью RESX блоки ресурсов должны будут быть, восстанавливают и повторно развернутый, который, возможно, высоко достаточно стоил в зависимости от процесса развертывания.

Таким образом, прежде, чем решить, что процесс локализации использовать, я посмотрел бы на решение того, кто собирается сделать локализацию и чем был бы процесс развертывания для localizaed ресурсов после того, как главное приложение уже развертывается.

Править: Я забыл упоминать, что эти соображения являются ортогональными к выбору платформы ASP.NET (MVC или WebForms).

9
ответ дан 4 December 2019 в 13:05
поделиться

Если Вы собираетесь использовать Resx и не использовать Управление сервером, как Вы находитесь в MVC, почему бы не расширить Вспомогательные методы MVC, таким образом, можно создать локализованные маркировки и текст? Затем просто назовите текст от ресурса во вспомогательном методе.

например,' <% =Html. CultureLabel ("ResouceId") %>'

или' <% =Html. CultureButton ("Имя", "ResouceId", HtmlButtonType. Кнопка) %>'

Просто мысль.

Также руководящая глобализация сайта НАМНОГО легче с resx для текста.

3
ответ дан 4 December 2019 в 13:05
поделиться

Я сказал бы "да", resx файлы все еще хороший вариант для новых приложений. Я не думаю ASP.NET, MVC в особенности изменяет что-либо о хранении Ваших строк.

То, что является большим об использовании ресурсов,

  • ими довольно легко управлять
  • локализация Вашего сайта является намного более легкой задачей, чем без ресурсов (и я подчеркиваю намного легче),
  • можно заменить хранилище ресурса в любое время, потому что ресурсы используют модель поставщика. Можно выключить resx файлы для записей дб, не изменяя реализацию сайта.

Я рекомендую файлы ресурсов для "строк сайта", которые отличаются, чем большие блоки данных, которые Вы могли бы отредактировать на частой основе. Таким образом для полной рекомендации, я сказал бы что файлы ресурсов использования (resx для запуска) для кнопок, маркировок, и т.д., и CMS для мясистого содержания.

4
ответ дан 4 December 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: