c# - 当数据存储在定义为 public static 的列表中时并发用户的问题

标签 c# asp.net list concurrency scope

我有一个 web 项目,其中我有各种功能,可以将值添加到一系列定义为公共(public)静态的列表(以便让它们基本上充当全局变量)或从中读取。

将数据添加到列表的函数从流中读取数据,发生各种事情,然后当用户单击按钮时,将读取列表并针对其中包含的每个值执行操作。

除并发用户访问网页外,一切正常....在这种情况下,列表中存储的数据与用户交互创建的数据合并。

所以问题是我怎样才能保留从不同函数读取/写入列表的能力,而不会遇到并发问题?我找不到一种方法来在一个函数中创建/填充列表,然后将其提供给页面上的其他人。

谢谢

最佳答案

将值存储在 Session 中,而不是静态列表。正如您所发现的,网站的所有用户都共享一个静态变量。

关于c# - 当数据存储在定义为 public static 的列表中时并发用户的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194741/

相关文章:

c# - Release模式应用失败

asp.net - 如何让 webpack 和 iis express 协同工作?

ASP.NET 文件下载 - 检测用户是否取消下载?

python - 在 Python 中获取不同的值

c# - “DataGrid”不包含 'DataSource' 的定义

c# - 如何静态访问 .resx 文件

c# - ASP.NET Core CORS WebAPI : persist no Access-Control-Allow-Origin header

python:删除列表中的多个项目

java - 在java中初始化字符串列表的最短方法是什么?

C# 安装项目安装后运行