首页 文章

ASP MVC中的会话

提问于
浏览
1

我了解到Sessions不再是在ASP MVC中保存数据的推荐方法,而是我们应该转移到ViewData(从控制器到View)和TempData(仅用于一个回发) . 我们不应该使用Session的唯一原因是维护Testability(MVC支持TDD,因此在运行TestMethods时HTTPContext.Session无法解析) .

但Sessions广泛解决的目的仍然没有得到ViewData或TempData的解决 . 会话保存整个用户会话的上下文 .

我仍然无法在MVC中收集正确的建议和会话替代方案 . 我可能会错误地理解正确的画面 . 我将非常感谢您讨论的任何链接或您的任何建议 .

这将帮助我决定,使用Session作为它与WebForms一起使用的目的,或者我们应该重新架构当前的应用程序,以便我们可以在强制性的情况下使用Session .

谢谢Sumeet

1 回答

  • 3

    在MVC中,Session仍然是widely in use .

    为了使您的代码更易于测试,您可以为Session提供抽象(例如Interface),然后将其注入您的控制器 - 然后您可以向控制器提供模拟或存根'会话' .

    但我会坚持使用ViewModel或ViewData与您的视图进行通信 - 即视图不应该直接访问Session .

相关问题