Asp.net mvc TempData存储在哪里?

Asp.net mvc TempData存储在哪里?,asp.net-mvc,asp.net-mvc-2,tempdata,Asp.net Mvc,Asp.net Mvc 2,Tempdata,TempData在ASP.NET MVC框架(更具体地说,ASP.NET MVC 2)中存储在哪里?它是存储在服务器端还是发送到客户端?默认情况下,TempData使用ASP.NET会话作为存储。因此它存储在服务器上(InProc是默认值)。但是您可以定义其他ASP.NET会话状态模式:StateServer和SqlServer。如果您不想使用ASP.NET会话,也可以编写自定义的TempData提供程序并自行处理存储。它存储在会话存储中,但是TempData和会话之间有一个关键区别: Temp

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

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

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

TempData
仅可用于用户会话,因此它只能持续,直到我们读取它并在HTTP请求结束时清除为止


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

非常感谢。我将进一步研究ASP.NET会话状态模式,这对我来说是新的。谢谢你,我希望我能选择一个以上的答案作为已接受的答案。TempData仅适用于用户的会话,因此它只会持续到我们读取它并在HTTP请求结束时清除为止。会话持续时间比HTTP请求长。那么TempData是否仅可用于用户的会话?