gpt4 book ai didi

model-view-controller - MVC 中的 session

转载 作者:行者123 更新时间:2023-12-04 06:40:57 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




session 处理在哪里适合 MVC 的整体概念?模型还是 Controller ?

最佳答案

SessionState 的目的是将有关用户 session 的数据从一个 HttpRequest 持久化到下一个。在某些情况下,这是一个比手动实现 cookie 或为 session 信息创建数据存储并传递标识符更简单的解决方案。 MVC 的做法是使用 TempData ,它包装了 SessionState。这意味着可能没有必要直接访问 SessionState,除非您要覆盖某些核心基础设施。我认为模型是数据的更具隐喻性的表示。在模型中使用 session 数据似乎并不完全正确,因为模型可能代表一些业务逻辑, session 状态会不必要地复杂化。 System.Web.Mvc 提供了很多机制,让我们无需直接使用 HttpContext 即可维护状态。这些机制包含在ControllerContext 的属性中。 , ActionFilter过滤上下文,ExceptionContext , AuthorizationContext , ModelBindingContext , RouteDataViewContext .它们有助于将可能存储在 session 状态集合中的一堆不同的东西分隔在逻辑上更分离的隔间中。

TempData 可从 ControllerContext 和 ViewContext 获得。这是您访问 session 状态功能的接入点。如果您想控制这些数据的处理和写入,并且不确定在哪里, Action 过滤器是一个很好的注入(inject)点,因为它们将这种关注排除在主要的面向业务的 Controller Action 之外。本文探讨了使用 ActionFilter 自动跨请求保持模型状态:http://blog.jorritsalverda.nl/2010/03/10/maintainable-mvc-post-redirect-get-pattern/ .我认为这可能会有所帮助。这个问题不是很具体......如果我没有直接解决你的问题,请澄清。

关于model-view-controller - MVC 中的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com