Существуют ли лучшие практики для управления ресурсами страниц в ASP .NET MVC?
Делаю свой хобби-проект. Передо мной встала задача - иметь базовую возможность управлять контентом страниц с помощью админки. Под словом "базовый" я подразумеваю просто возможность менять текст в шапке сайта, заголовки разделов и т.п., не залезая в cshtml-код. У меня нет проблем с тем, чтобы реализовать эту возможность, однако есть проблема с тем, чтобы "реализовать хорошо" с точки зрения принятых подходов в ASP .NET MVC, а также с точки зрения производительности.
Существуют ли какие-то, условно говоря, одобренные, подходы для решения такой задачи?
Спасибо за ответ и ссылку. Мои мысли по реализации сводятся к следующему:
1. Хранение строковых данных в xml-ке (либо в базе данных) в виде пар ключ-значение, ее десериализация на старте приложения и сохранение изменений, когда нужно. Вопрос в том, как в таком случае ссылаться на нужные строковые значения во View-файлах: через статический класс либо синглтон или есть какой-то более приемлемый метод? И что-то я не до конца понимаю, с точки зрения паттерна MVC, хорошо ли такое решение.
2. Создать в Models сущность, например, PageInfo, в которой хранить все нужные строки, а также идентификатор страницы и передавать во ViewModel вместе с доменной моделью.
Других вариантов пока не обдумывал, больше склоняюсь ко второму.
Антон Воронин: второй способ правильнее будет. Держите в базе данных таблицу со страницами, где есть заголовок страницы, её содержимое и остальные параметры, а уже для вывода страниц держите контроллер, который по id страницы получал бы страницу из базы (тот еж PageInfo ваш) и отдавал её в типизированное представление, которое бы и отображало страницу