C# 在web应用程序中存储当前用户的静态类

C# 在web应用程序中存储当前用户的静态类,c#,asp.net-mvc,web-applications,static-classes,C#,Asp.net Mvc,Web Applications,Static Classes,我不熟悉asp.NETMVC5中的web应用程序。我很好奇静态类在web应用程序中的行为。我想知道我的程序将如何运行 假设我有一个CurrentUser静态类,它存储记录的用户id public static class CurrentUser{ public static int UserId {get; set;} } 这是在任何用户登录时设置的。 我的应用程序在外部服务器中 那么,如果: 用户A登录->用户Id设置为1,然后用户B登录(他们从不同的帐户访问),因此用户Id设置为

我不熟悉asp.NETMVC5中的web应用程序。我很好奇静态类在web应用程序中的行为。我想知道我的程序将如何运行

假设我有一个CurrentUser静态类,它存储记录的用户id

public static class CurrentUser{
     public static int UserId {get; set;}
}
这是在任何用户登录时设置的。 我的应用程序在外部服务器中

那么,如果:

  • 用户A登录->用户Id设置为1,然后用户B登录(他们从不同的帐户访问),因此用户Id设置为2。当用户A想要执行需要检查其Id的操作时,它是1还是2
  • 我检查了一个场景,其中两个不同的人同时从一台电脑(不同的选项卡)登录,我知道他们的用户Id都是2(当用户B以应用程序的第二个身份登录时)。如何解决这个问题
  • 我已经读过:。
    我知道我的解决方案可能容易出错,因为每个人都可以访问该类,但我不知道web应用中的静态类是否不是按用户存储的(线程?)

    如果将当前用户存储在会话存储中,它将比静态类更好。因为有一个静态类和字段的副本,并且对于每个用户登录,保留最后一个登录