问题
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.
来源:https://stackoverflow.com/questions/15004081/where-does-tempdata-get-stored