Where does TempData get stored?

2019-04-04 01:25发布

问题:

Where does TempData get stored in the ASP.NET MVC Framework (more specifically, ASP.NET MVC 2)? Is it stored at server-side, or is sent to the client?

回答1:

By default TempData uses the ASP.NET Session as storage. So it is stored on the server (InProc is the default). But you could define other ASP.NET Session state modes: StateServer and SqlServer. You could also write a custom TempData provider and handle the storage yourself if you don't want to use the ASP.NET Session.



回答2:

It is stored in session storage, but there is one crucial difference between TempData and Session:

TempData is available only for a user’s session, so it persists only till we have read it and gets cleared at the end of an HTTP Request.

A scenario that fits the usage of TempData, is when data needs to persist between two requests – a redirect scenario. Another scenario I can think of is to return an error message after a POST operation fails.