Я считаю, что состояние хорошо поддерживается в кэше при реализации шаблона хранилища.В проекте MVC Futures также есть метод Html.Serialize, который предоставляет хранилище состояний «как состояние просмотра».http://mvccontrib.codeplex.com/
Для информации, подобной элементам, привязанным к списку, который мы привыкли автоматически поддерживать для нас в веб-формах, хорошей альтернативой здесь является обращение к хранилищу данных.Хранилище поддерживает ссылку на кеш (в идеале через интерфейс, который вы создаете, например, ICache).Затем хранилище кэширует эти данные на основе, например.имя текущего пользователя, ключ что угодно.Некоторые предпочитают иметь кэш уровня обслуживания, но я чувствую, что для этого нужен уровень хранилища.
Сессия все еще используется - если нужно - она имеет свое место.Сеанс окружает множество «плохих», но если вам нужно хранить информацию, относящуюся к сеансу, а ваш сайт не связан с большим количеством посещений в день, то вы, вероятно, можете принять удар очень хорошо.* TempData отлично подходит для хранения сообщений о состоянии, которые будут отображаться при следующем запросе, например «запись успешно сохранена», поэтому вы не потеряете ее при перенаправлении и не будете передавать ее в строку запроса.Это единственное, для чего я его использую, хотя некоторые используют его для хранения данных для повторного связывания при следующем запросе.