У меня есть система .NET, в которой мне нужно разрешить блокировку и разблокировку файлов через границы процесса. Модель, которую я планирую использовать, такова:
- Пользователь создает токен блокировки
- Использование Блокирует файл с токеном и обновляет токен
- повторить на # 2 при необходимости
- Использование разблокирует все файлы, выпустив токен
- Если используется не удается обновить токен в какой-то период времени, # 4 происходит автоматически
Каждый шаг может быть выполнен из другого процесса.
Вопрос в два раза: это разумная модель и есть ли какие-либо легкодоступные инструменты для ее реализации? Если это не может быть сделано напрямую в ОС, я думаю о какой-то консультативной блокировки с .file
с или тому подобным.
Редактировать: этот режим получает неисключительные блокировки чтения, но другие режимы могут получать эксклюзивные блокировки записи, но они всегда будут освобождаться тем же процессом, который их получил.