2013-02-21 2 views

ответ

14

По умолчанию TempData использует сеанс ASP.NET как хранилище. Таким образом, он сохраняется на сервере (InProc по умолчанию). Но вы можете определить другие режимы состояния сеанса ASP.NET: StateServer и SqlServer. Вы также можете написать собственный поставщик TempData и самостоятельно обработать хранилище, если вы не хотите использовать сеанс ASP.NET.

+0

спасибо. Я буду исследовать больше о режимах состояния сеанса ASP.NET, это новое для меня. –

5

Он хранится в памяти сессии, но есть одна принципиальная разница между TempData и Session:

TempData доступен только для сеанса пользователя, поэтому сохраняется только пока мы не прочитали его и получает очищается в конце HTTP-запроса.

Сценарий, который подходит для использования TempData, заключается в том, когда данные должны сохраняться между двумя запросами - сценарием переадресации. Еще один сценарий, о котором я могу думать, - это вернуть сообщение об ошибке после сбоя операции POST.

+0

Спасибо, человек, я хотел бы выбрать более одного ответа, как принято. –

+1

* TempData доступен только для сеанса пользователя, поэтому он сохраняется только до тех пор, пока мы не прочитаем его и не очистится в конце HTTP-запроса. * Сеансы длятся дольше, чем HTTP-запросы. Так что * TempData доступен только для сеанса пользователя * правильно? –

 Смежные вопросы

  • Нет связанных вопросов^_^