首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mvc中引起并发问题的静态变量

在mvc中引起并发问题的静态变量
EN

Stack Overflow用户
提问于 2014-10-14 12:53:15
回答 1查看 1.5K关注 0票数 3

我们使用mvc4开发网络应用程序。在许多情况下,我们将在第一页/视图中从用户那里获得价值,在用户到达最后的Page/View之前,我们需要保留这些值。他(她)可以通过4-5个视图才能从第一个视图到达最终视图。

在MVC中保持价值。我们有三种方法。

1.全局变量--但是如果我在一个操作方法中赋值。该值将在另一个操作方法中重置。所以我们就放弃了。

2. session --但我们需要在每个会话中保留5个以上的值。所以我们就放弃了。

3.--它的工作原理类似于魅力。但是在多个用户中,它会导致并发问题。

在mvc中还有其他方法来保留价值吗?请引导我。

EN

回答 1

Stack Overflow用户

发布于 2014-10-14 12:57:05

静态变量将在应用程序域的生命周期中持续存在,这就是为什么您将看到多个用户的并发问题。

请参阅:ASP.Net网站中的静态变量及其含义

在一个会话中存储五个值不应该有任何问题。您可以拥有List<T>并将其存储在会话中。比如:

代码语言:javascript
复制
List<string> someValues = new List<string> {"A","B","C","D", "E",};
HttpContext.Current.Session["userValues"] = someValues;

要检索它:

代码语言:javascript
复制
var someValues =  HttpContext.Current.Session["userValues"] as List<string>;
if(someValues != null)
{
 // found
}

唯一需要考虑的是数据的大小。会话存储在服务器级别,用于每个用户,存储过多的数据可能会导致问题,尽管这取决于您的配置。

您还可以看到:什么是ViewData、ViewBag和TempData?- MVC选项用于在当前请求和后续请求之间传递数据。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26361363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档