Что у меня есть?
Объект, который сохраняется в статической переменной и вызывается при необходимости.
Этот объект взаимодействует с другим приложением.
У меня есть две коллекции (общие списки) в этом объекте
бревна
А также
«Данные, которые предварительно проверены» для последующего использования
Проблема в том, что более одного человека пытаются использовать этот объект (объект взаимодействует с другим приложением), изменение коллекции приводит к исключениям или потере данных
Исключение в случае циклов или использования функции поиска из общего списка
То, что я пытаюсь сделать, - это время от времени удалять предварительно выбранные данные или журналы. Я могу сделать это изначально, когда вызывается любая функция в объекте, но если коллекция изменяется, когда два человека (или потоки) пытаются вызвать одну и ту же функцию одновременно, это приводит к исключениям или потере данных
Потеря данных в случае, если я иду:
List AlreadySavedData
{
get
{
//Rough Syntax maybe incorrect - but in actual application is correct
_alreadySavedData= _alreadySavedData.Find(Delegate (Data d {return d.CreatedOn.Date == DateTime.Now.Data;}));
return _alreadySavedData;
}
}
Я подумал, что, выполнив вышеизложенное, я мог бы, по крайней мере, ограничить свой сбор «предварительно извлеченных данных» или журналов изо дня в день. Но при попытке одновременного доступа к коллекции или ее изменения иногда один вызов «AlreadySavedData» может перезаписать параллельный вызов, который мог просто изменить (добавить) коллекцию, что приведет к потере данных.
Любая помощь будет оценена