我正在向MVC4站点添加一些新功能。我刚刚添加了一个全局静态类和一个全局变量来保存一个值,该值在用户访问站点期间的某个时间点确定,稍后将用作条件。
然后我想到我不确定在这种情况下静态值的全局性。
我是否必须将全局值指定为会话变量?
或者,该站点的每个用户无论如何都可以在他们自己的会话中访问它,我不必担心一个用户将其设置为一个值而另一个用户可以访问该设置值。
我正在向MVC4站点添加一些新功能。我刚刚添加了一个全局静态类和一个全局变量来保存一个值,该值在用户访问站点期间的某个时间点确定,稍后将用作条件。
然后我想到我不确定在这种情况下静态值的全局性。
我是否必须将全局值指定为会话变量?
或者,该站点的每个用户无论如何都可以在他们自己的会话中访问它,我不必担心一个用户将其设置为一个值而另一个用户可以访问该设置值。
您的基本问题: 静态全局变量是否在所有用户之间共享?
因为每个 MVC 站点都是一个应用程序,所以所有静态信息都在应用程序的用户池之间共享。
更深层次的问题: 我如何存储用户整个逗留期间的用户数据?
你关于静力学的问题会让你受到一些人的嘲笑和别人的赞赏。冷笑是因为您可以查到这一点,赞赏是因为您存储用户数据以便于检索的潜在问题是我们大多数人都面临的一个重要问题。
您已经使用了一个会话。会议很尴尬。它们过期了。当您使用负载平衡时,它们特别不可靠。为了处理过期的会话,我使用了动作过滤器;动作过滤器检查空会话变量OnActionExecuting
,如果是则重新填充会话NULL
。
我在cookie方面取得了更大的成功。Cookie 有其自身的问题。一些客户端浏览器不支持它们。但是越来越多地接受 cookie。反对意见变得不那么普遍了。