Почему 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 с этого момента.

Ответы на вопрос(4)

Ваш ответ на вопрос