22

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

4

2 回答 2

19

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

于 2013-02-21T13:59:29.277 回答
13

TempData它存储在会话存储中,但和之间有一个关键区别Session

TempData仅对用户的 session可用,因此它只会持续到我们阅读它并在 HTTP 请求结束时被清除。

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

于 2013-02-21T14:01:41.100 回答