Я храню DataTable в свойстве ASP .NET Cache. Операции, которые могут быть выполнены с этим DataTable:
- привязка к элементу управления сеткой (эта сторонняя сетка внутренне управляет объектом источника данных, после обратной передачи его DataSource равен NULL, я предполагаю, что после связывания данных он больше не использует DataTable источника данных)
- удаление строк из таблицы данных ( Row.Delete ()
Я добавил базовые блокировки чтения / записи при явной работе с этим экземпляром DataTable, но мне интересно, есть ли другие проблемы с безопасностью потоков в этом решении. Я думаю, что-то может пойти не так, когда контроль сетки находится в середине DataBinding, а другой поток удаляет строки? Если это так, как я могу синхронизировать доступ к этой таблице, чтобы не вызывать Удалить вызовы методов, когда контроль сетки является обязательным? Есть ли какая-либо комбинация событий, где я могу разместить методы AcquireWriterLock и ReleaseWriterLock?
Спасибо, Pawel