|
|
1
2
SessionState的目的是将用户会话的数据从一个HttpRequest持久化到下一个HttpRequest。在某些情况下,这是一个比手动实现cookies或为会话信息创建数据存储并传递标识符更容易的解决方案。MVC的方法是
TempData可从ControllerContext和ViewContext获得。这是会话状态的访问点功能。如果您想控制这些数据的处理和写入,并且不确定在哪里,那么操作过滤器是一个很好的注入点,因为它们将该关注点排除在主要的面向业务的控制器操作之外。本文探讨如何使用ActionFilter自动在请求之间保持模型状态: http://blog.jorritsalverda.nl/2010/03/10/maintainable-mvc-post-redirect-get-pattern/ . 我想这可能会有帮助。这个问题不是很具体。。。如果我没有直接回答你的问题,请澄清。 |
|
|
2
1
我更喜欢将它们保存在控制器级别,或者隐藏在自定义操作过滤器或模型绑定器中。 会话状态实际上是一个web客户机概念,为了分层起见,我更喜欢将它们排除在模型之外。或者至少我会在自己的会话或上下文接口中包装它。 |