TempData在哪里存储?

Gui*_*rez 16 asp.net-mvc tempdata asp.net-mvc-2

TempData在哪里存储在ASP.NET MVC框架中(更具体地说,ASP.NET MVC 2)?它是存储在服务器端,还是发送到客户端?

Dar*_*rov 15

默认情况下,TempData使用ASP.NET会话作为存储.所以它存储在服务器上(InProc默认).但您可以定义其他ASP.NET会话状态模式:StateServer和SqlServer.如果您不想使用ASP.NET会话,您还可以编写自定义TempData提供程序并自行处理存储.


mat*_*mmo 8

它存储在会话存储中,但是TempData和之间存在一个重要区别Session:

TempData仅针对用户的会话,所以它坚持只等我们读它,并在HTTP请求的末尾被清除.

适合使用的场景TempData是数据需要在两个请求之间持续存在 - 重定向场景.我能想到的另一种情况是在POST操作失败后返回错误消息.