SaaS-подход к App_GlobalResources
Мы создаем приложение, в котором несколько сайтов работают на одном сайте IIS.
У нас есть веб-инструмент, с помощью которого веб-мастер может редактировать файлы "resx", например: /App_GlobalResources/es/Backend.es.resx
Однако есть две проблемы с этим:
- изменение этих файлов влияет на все сайты.
- Это также вызывает перезапуск всего сайта IIS.
Есть ли другой подход к этому? Я думаю, что сохранение строк в БД может быть плохой идеей, так как это приведет к сотням запросов SQL на страницу.
2 ответа
Используйте управляемый базой данных поставщик ресурсов, который поддерживает кэширование. И вам повезло, потому что кто-то другой уже сделал это
Предоставляете ли вы интерфейс для редактирования файлов resx? Если это так, кэшируйте их в области приложения и завершайте кэш при их обновлении. Затем сохраните их в базе данных. Таким образом, вы будете иметь скорость и гибкость. То, что данные находятся в базе данных, не означает, что они будут медленными. Кеш является решением. Конечно, первый поиск будет медленным, но последующий поиск будет настолько быстрым, насколько вы сможете.