ASP.NET MVC网站中的全局值是否可以由使用该站点的任何人访问,或者是否为每个会话实例化?

Can a global Value in an ASP.NET MVC website be accessed by any person using the site or is it instanced for each session?

本问题已经有最佳答案,请猛点这里访问。

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

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

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

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


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

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

更深层次的问题:我如何存储用户在整个停留期间的用户数据?

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

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

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