Рекомендовано командой ASP.NET использовать кеш вместо сессий, поэтому мы перестали использовать сессию из-за работы с моделью WebForm в последние несколько лет. Поэтому мы обычно отключаем сеанс в web.config
<sessionState mode="Off" />
Но теперь, когда я тестирую приложение ASP.NET MVC с этим параметром, он выдает ошибку в классе SessionStateTempDataProvider
внутри фреймворка mvc, он попросил меня включить состояние сеанса, я сделал, и это сработало. Глядя на источник, он использует сессию:
// line 20 in SessionStateTempDataProvider.cs
Dictionary<string, object> tempDataDictionary =
httpContext.Session[TempDataSessionStateKey] as Dictionary<string, object>;
Итак, зачем им использовать сессию здесь? Чего мне не хватает?
=============================================== =========
Редактировать Извините, я не хотел, чтобы этот пост обсуждал сессию против кэша, а скорее в контексте ASP.NET MVC, мне просто интересно, почему здесь используется сессия. В этом сообщении в блоге Скотт Уотермасиск также упомянул, что отключение сеанса - это хорошая практика, поэтому мне просто интересно, почему я должен включить его, чтобы использовать MVC с этого момента.