使用ASP.NET MVC网站的任何人都可以访问该网站中的全局值,还是每个会话都可以引用该值?

使用ASP.NET MVC网站的任何人都可以访问该网站中的全局值,还是每个会话都可以引用该值?,asp.net,asp.net-mvc,asp.net-mvc-4,global-variables,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Global Variables,我正在为一个MVC4站点添加一些新功能。我刚刚添加了一个全局静态类和一个全局变量,用于保存一个值,该值在用户访问站点期间的某个时间点确定,稍后将用作条件 我突然想到,我不确定在这种情况下,静态值的全局性如何 是否必须将全局值指定为会话变量 或者,网站的每个用户是否都可以在自己的会话中访问它,我不必担心一个用户将其设置为一个值,而另一个用户可以访问该设置值。您的基本问题是:所有用户是否共享静态全局数据 因为每个MVC站点都是一个应用程序,所以所有静态都在应用程序的用户池中共享 更深层次的问题:如何

我正在为一个MVC4站点添加一些新功能。我刚刚添加了一个全局静态类和一个全局变量,用于保存一个值,该值在用户访问站点期间的某个时间点确定,稍后将用作条件

我突然想到,我不确定在这种情况下,静态值的全局性如何

是否必须将全局值指定为会话变量


或者,网站的每个用户是否都可以在自己的会话中访问它,我不必担心一个用户将其设置为一个值,而另一个用户可以访问该设置值。

您的基本问题是:所有用户是否共享静态全局数据

因为每个MVC站点都是一个应用程序,所以所有静态都在应用程序的用户池中共享

更深层次的问题:如何存储用户整个入住期间的用户数据

你关于静力学的问题会赢得一些人的嘲笑和其他人的赞赏。嘲笑是因为你可以查到这个,赞赏是因为你在存储用户数据以便于检索方面的潜在问题是我们大多数人都面临的一个重要问题

  • 您已经使用了会话。会议很尴尬。它们过期了。当您使用负载平衡时,它们尤其不可靠。为了处理过期的会话,我使用了动作过滤器;操作筛选器检查空会话变量
    OnActionExecuting
    ,如果会话为
    null
    ,则重新填充该会话

  • 我在饼干方面取得了更大的成功。Cookie有自己的问题。一些客户端浏览器不支持它们。但是饼干越来越被人们接受。反对意见变得不那么普遍了


由于悬赏,我无法结束投票,但你的问题是重复的(你真的等了两个月才得到答案?因为这是我在“asp.net静态类共享所有用户”上的第一次网络搜索)。静态类位于AppDomain中,而。是的,用户可以共享一个静态类。事实上,我忘了我问过这个问题,因为它并没有那么重要(我最后使用会话是为了安全起见),但是浏览一下我过去的问题,我注意到了这个问题,我意识到我想要一个答案。我在谷歌上搜索过,所以我不知道怎么找不到重复的,但这很好地回答了这个问题。