Я хочу установить своего рода «крючок» в Windows (должен работать только на Windows Server 2008 R2 и более поздних версиях), который, когда я запрашиваю файл на диске, а его там нет, затем запрашивает его с веб-сервера икэширует его локально.
Файлы являются неизменяемыми и имеют уникальные имена файлов.
Приложение, которое пытается открыть эти файлы, написано на C и просто открывает файл, используя операционную систему обычным способом.Скажем, он вызывает OpenFile
с просьбой c:\scripts\1234.12.script
, и тогда он просто откроет его как обычно.Если затем он запрашивает c:\scripts\1234.13.script
, а это не так, то мой хук в операционной системе затем отправляется и запрашивает файл у моего веб-сервиса, загружает его, а затем возвращает этот файл таким, каким он был там все время.
Я бы предпочел написать это как процесс пользовательского режима (я никогда не писал драйвер для Windows), он должен запускаться только тогда, когда файлы не найдены в определенной папке, и я предпочел бы, если это возможно, написать егона управляемом языке (C # было бы идеально).Файлы имеют небольшой размер (<50 КБ), а веб-служба работает быстро, а интернет-соединение закрывается, поэтому я не ожидаю, что загрузка файла займет больше секунды. </p>
У меня вопрос - где я могуначать искать информацию об этом?И если кто-нибудь делал что-то подобное - знаете ли вы, какие у меня есть варианты (например, можно ли это сделать в C #?)?