我知道这种事情已经在这里被问过很多次了,但我仍然没有完全理解 ASP 中的线程安全。
C#:其中 Util 是一个静态类,而 theList 是一个静态列表。
Util.theList= new List<Object>();
Util.theList.Add(someObject);
页面加载一次,然后一秒钟后(回发后 1 秒)填充 Util.theList 并重新加载页面以绑定新填充的列表数据:
this.Repeater.DataSource = Util.theList;
this.Repeater.DataBind();
每次填充列表时,它都会被实例化:
Util.theList= new List<Object>();
如果这不是线程安全的,我怎样才能使它成为线程安全的?我不能让列表非静态并且在同一页面上,因为有一个单独的问题,即数据仅在每次绑定到 page_load 时才绑定: OnDataBind 仅在第一次回发时触发