我有一个 ASP.NET MVC 项目,它使用 TempData 将对象从一个控制器操作传送到另一个控制器操作 - 这实际上是相同的操作,但是一个接受 HTTP 帖子的版本。
在我的开发机器上,这按预期工作。在测试机器上,第二个控制器操作中的 TempData 值为空。
我看到的论坛帖子建议检查 sessionState 是否正常工作 - 我已经这样做了。两个网站都将 sessionState 设置为 InProc - web.config 都不包含 sessionState 条目,但我检查了 Session.Mode 是 InProc。如果我在第一个控制器操作中将一个对象放入 Session 中,我可以在两台机器上的第二个操作中检索它。
我可以通过在第二个控制器操作中重新执行用于在第一个控制器操作中设置 TempData 的过程来解决此问题,但为什么 TempData 可能会在测试机器上丢失?