В веб-приложении asp.net я хочу записать в файл. Эта функция сначала получает данные из базы данных, а затем записывает плоский файл.
Что я могу сделать, чтобы убедиться, что происходит только 1 запись, и как только запись происходит, другие потоки, которые, возможно, захотят записать в файл, не будут, поскольку запись произошла.
Я хочу, чтобы эта запись была сделана ТОЛЬКО, если она не была сделана, скажем, за 15 минут.
Я знаю, что есть ключевое слово блокировки, так что я должен обернуть все в блокировку, а затем проверить, было ли оно обновлено через 15 минут или более, или наоборот?
Обновление
Workflow:
Поскольку это веб-приложение, в нескольких случаях пользователи будут просматривать определенную веб-страницу. Я мог бы использовать встроенную систему кэширования, но если asp.net перезапустит процесс восстановления кэша, будет дорого, поэтому я просто хочу записать его в плоский файл. Другим моим вариантом было бы просто создать службу Windows, но это больше работы для управления, чем я хочу.