【发布时间】:2020-06-04 16:49:15
【问题描述】:
我是 asp.net mvc 5 中的 Web 应用程序的新手。我很好奇静态类在 Web 应用程序中的行为方式。我想知道我的程序将如何运行。
假设我有 CurrentUser 静态类,它存储记录的用户 ID。
public static class CurrentUser{
public static int UserId {get; set;}
}
每当用户登录时设置。 我的应用在外部服务器中。
如果发生以下情况会发生什么:
- 用户 A 登录 -> 用户 ID 设置为 1,然后用户 B 登录(他们从不同的身份访问)因此用户 ID 设置为 2。当用户 A 想要执行需要检查其 ID 的操作时,是 1 还是 2?
- 我检查了一个场景,其中 2 个不同的人同时从一台电脑登录(不同的选项卡),我知道他们两个的用户 ID 都是 2(当用户 B 作为应用程序的第二个登录时)。如何解决这个问题?
我已经阅读:Static classes in web applications。 我知道我的解决方案可能容易出错,因为每个人都可以访问该类,但我不知道网络应用程序中的静态类是否不是按用户存储的(线程?)?
【问题讨论】:
标签: c# asp.net-mvc web-applications static-classes