Почему ASP.NET MVC использует состояние сеанса?
Рекомендованная командой 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 с этого момента.