【发布时间】:2012-03-12 13:24:51
【问题描述】:
我了解到 Sessions 不再是在 ASP MVC 中保存数据的推荐方式,而是我们应该转移到 ViewData(从控制器到 View)和 TempData(仅用于一次回发)。我们不应该使用 Session 的唯一原因是为了维护可测试性(MVC 支持 TDD,因此 HTTPContext.Session 在运行 TestMethods 时不会解析)。
但是 Sessions 广泛解决的目的仍然没有被 ViewData 或 TempData 解决。会话保存整个用户会话的上下文。
我仍然无法为 MVC 中的会话收集正确的建议和备选方案。可能是我理解正确的图片是错误的。我将不胜感激任何讨论的链接或你们的任何建议。
这将帮助我决定,将 Session 用于 WebForms 的用途,或者我们应该重新架构当前的应用程序,以便我们只能在强制使用 Session 时使用。
谢谢 苏梅特
【问题讨论】:
-
如果您正确使用了会话(即用于存储与会话范围内的会话用户相关的每个会话信息,而不是数据与应用程序的功能相关)在 ASP.NET Web 窗体中,您应该在 ASP.NET MVC 中以相同的方式执行此操作。但是很可能你在 ASP.NET Web 窗体中使用会话作为通用存储,ASP.NET MVC 有其他机制(如你所写)。
标签: asp.net asp.net-mvc asp.net-mvc-3 session