TempData在哪里存储?

时间:2013-02-21 13:57:35

标签: asp.net-mvc asp.net-mvc-2 tempdata

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

2 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:5)

它存储在会话存储中,但TempDataSession之间存在一个重要区别:

TempData 仅适用于用户的会话,因此只有在我们阅读之后才会保留,并在HTTP请求结束时清除。

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