TempData Vs Session in MVC

TempData Vs Session
 

TempData

Session

TempData allow us to persisting data for the duration of single subsequent request.

Session is able to store data much more long time, until user session is not expire.

ASP.net MVC will automatically expire the value of tempdata once consecutive request returned the result (it means, it alive only till the target view is fully loaded).

Session will be expire after the session time out occurred.

It valid for only current and subsequent request only

It valid for all requests.

TempData has Keep method to retention the value of TempData.

 

Example

TempData.Keep()

TempData.Keep(“EmpName”)

NA

TempData internally stored the value in to Session variable.

Session varible are stored in SessionStateItemCollection object (Which is exposed through the HttpContext.Session property of page).

It is used to stored only one time messages like validation messages, error messages etc.

It is used to stored long life data like user id, role id etc. which required throughout user session.

TempData and session, both required typecasting for getting data and check for null values to avoid run time exception.
Next Recommended Reading ViewData VS ViewBag Vs TempData in MVC