У меня есть файл, представляющий собой XML-представление некоторых данных, которые взяты из веб-службы и кэшированы локально в веб-приложении. Идея состоит в том, что эти данные очень статичны, но просто может измениться . Поэтому я настроил его для кэширования в файл и прикрепил к нему монитор, чтобы проверить, был ли он удален. После удаления файл будет обновлен из исходного источника и перестроен.
Я сейчас сталкиваюсь с проблемами, потому что, очевидно, в многопоточной среде он падает, когда пытается получить доступ к данным, когда он все еще читает / записывает файл.
Это сбивает меня с толку, потому что я добавил объект для блокировки, и он всегда блокируется во время чтения / записи. Насколько я понимаю, при попытке доступа из других потоков будет сказано "подождать", пока не будет снята блокировка?
Просто, чтобы вы знали, я действительно новичок в многопоточной разработке, поэтому я полностью готов признать, что это бред с моей стороны:)
- Я что-то упустил?
- Какова лучшая стратегия доступа к файлам в многопоточной среде?
Редактировать
Извините - я должен был сказать, что используется ASP.NET 2.0 :)