【发布时间】:2011-07-19 08:55:46
【问题描述】:
我将 DataTable 存储在 ASP .NET 缓存属性中。可以对该 DataTable 执行的操作是:
- 绑定到网格控件(第 3 方网格内部管理数据源对象,回发后其 DataSource 为 NULL,我假设一旦绑定数据,它就不再使用数据源 DataTable)
- 从 DataTable 中删除行 (Row.Delete()
我在显式处理该 DataTable 实例时添加了基本的读取器/写入器锁,但我想知道该解决方案是否存在任何其他线程安全问题。我猜当网格控件位于 DataBinding 中间时可能会出现问题,而其他线程删除行?如果是这样,我如何同步对该表的访问,以便在绑定网格控件时不进行 Delete 方法调用?是否有任何事件组合可以放置 AcquireWriterLock 和 ReleaseWriterLock 方法?
谢谢,帕维尔
【问题讨论】:
标签: .net asp.net multithreading ado.net thread-safety