【发布时间】:2014-12-09 06:42:39
【问题描述】:
我们使用 mvc4 开发 Web 应用程序。在许多情况下,我们将在第一页/视图中从用户那里获得价值,我们需要将其保留在一些变量中,直到用户到达最终页面/视图。他/她可能会经过 4-5 次观看,才能从第一次观看到达最终观看。
在 MVC 中保持价值。我们有 3 种方法。
1.全局变量 - 但是如果我在一种操作方法中赋值。该值将在另一个操作方法中重置。所以我们放弃了它。
2.Session - 但我们需要在每个会话中保留超过 5 个值。所以我们放弃了它。
3.Static Varibale - 就像魅力一样。但在多用户中会导致并发问题。
在 mvc 中还有其他方法来保持值吗?请指导我。
【问题讨论】:
-
为什么在会话中保留超过 5 个值不好?
-
@Tommy 如果我真的不需要(我的页面除外),为什么我应该拥有超出我范围的会话价值。
-
@Tommy:我们使用会话 oly 来跨 Web 应用保存用户信息。但是对于单个控制器/页面,我们认为不要使用会话以避免将来的混乱。
-
据我所知,要跨多个请求保留信息,您要么必须进行会话,要么在数据库中创建一个包含这些值的表(您可以在该用户进行时更新该行)。可能还有其他选项,例如写入文件,但这会很慢,而且可能不是一个很好的选择。 MVC 中没有其他结构可以让您跨多个请求保存数据。
标签: c# asp.net-mvc asp.net-mvc-4 oop static-variables