Я играю с изучением ASP.NET MVC как разработчик, не являющийся веб-разработчиком. Я пытаюсь найти лучшую идиому для приложения, которое имеет концепцию выбора «проекта» для работы на первой странице, которая затрагивает все остальные страницы.
Кажется, есть три варианта:
- Просто поместите информацию в состояние сеанса. Работает нормально, но не очень MVC-иш
- Встраивать состояние во все URL-адреса ... поэтому вместо / Products / Details / 1 все URL-адреса / (project_id) / Products / Details / 1
- Установка отдельного куки для этой информации
Поскольку почти все URL-адреса в приложении требуют текущего проекта, это кажется излишним и делает построение URL-адресов, используемых в любом из представлений, гораздо более эффективным. Это также потребовало бы, чтобы я проверял разрешения для каждого вызова, так как пользователь мог легко изменить его.
Любые предложения о лучшем подходе - является ли использование сессии такой плохой идеей?!