почему Tempdata теряется после чтения

Я просматривал ссылки и нашел что-то новое для себя,

DotNetInterviewQuestion в вопросе № 3 .

Сохраняет ли TempData данные и в следующем запросе?

«TempData» доступна для текущего запроса, а в последующем запросе она доступна в зависимости от того, прочитано «TempData» или нет.

Таким образом, если «TempData» будет прочитана один раз, она не будет доступна в последующем запросе.

у меня вопрос: если TempData использует session внутри себя, то почему это было сделано с TempData, почему не осталось, как session?

когда Каждый посетитель имеет свой собственный session collection, который создается при первом запросе и уничтожается при session expires, тогда почему он отличается в TempData !!

Я не хочу знать ответ о session vs tempdata? все, что я хочу, почему у Tempdata есть вариации, если он использует сеанс внутри, потому что либо встроенный .net должен очищать сеанс, так почему .net добавил эти функции tempdata, хотя это можно сделать с существующим сеанс.


person Shekhar Pankaj    schedule 05.05.2015    source источник
comment
Очевидно, потому что эти данные нужны только после перенаправления, а затем их можно удалить, сэкономив память.   -  person L-Four    schedule 05.05.2015
comment
Насколько я понимаю, он был разработан для временных данных (как следует из названия), таких как добавление сообщения об успехе при перенаправлении из метода публикации в представление сведений. Это означает, что вам не нужно каждый раз вручную удалять переменную сеанса.   -  person    schedule 05.05.2015
comment
мой вопрос вызывает другую проблему ?, и я не хочу знать ответ о сеансе и tempdata? все, что я хочу, почему Tempdata имеет вариацию, если он использует сеанс внутри @D Stanley   -  person Shekhar Pankaj    schedule 05.05.2015
comment
@StephenMuecke: да, я согласен, но я нашел там кое-что новое ... много перенаправлений сохраняется, пока не будет прочитано.!   -  person Shekhar Pankaj    schedule 05.05.2015
comment
Это сеанс, который вы используете для конкретного случая. Что вы в этом не понимаете?   -  person L-Four    schedule 05.05.2015
comment
@ShekharPankaj, Да, это правильно, потому что именно его чтение приводит к тому, что он также удаляется из сеанса (если вы не используете Keep или Peek)   -  person    schedule 05.05.2015
comment
@StephenMuecke да, тогда зачем его удалять? Это мой вопрос? Какие преимущества это дает?   -  person Shekhar Pankaj    schedule 05.05.2015
comment
Вы читали мой ответ или ссылку выше, где это полностью объяснено ??   -  person L-Four    schedule 05.05.2015
comment
@ShekharPankaj, поэтому вам не нужно вручную удалять его из сеанса после его завершения - это просто упрощает код.   -  person    schedule 05.05.2015
comment
@ L-Three, я не могу найти ваш ответ на этот вопрос, и я читаю ссылки выше, но у меня нет того, что я ищу? Я думаю, чем это выгодно по сравнению с сеансом, когда у него есть перенаправление на одиночные редиректы или однократно прочитанные, или usinf keep. должна быть возможность установить количество перенаправлений или что-то в этом роде. Предположим, я хочу, чтобы 3 перенаправления имели одно и то же сообщение, мне нужно установить его снова, почему? Тогда в чем его преимущество?   -  person Shekhar Pankaj    schedule 05.05.2015
comment
Как уже много раз говорилось, вы используете его для сохранения данных через 1 перенаправление.   -  person L-Four    schedule 05.05.2015
comment
@ShekharPankaj, похоже, вы игнорируете ключевую концепцию - его Temp (orary) Data. Он предназначен для однократного чтения и утилизации - вот для чего он предназначен. Если вы этого не хотите, не используйте это.   -  person    schedule 05.05.2015
comment
хм, я кое-что чувствую, но, ребята, этот вопрос не повторяется, почему отмечен как повторяющийся?   -  person Shekhar Pankaj    schedule 05.05.2015
comment
Потому что это дубликат, и это объясняется в другом ответе.   -  person L-Four    schedule 05.05.2015