我想在窗口中添加某种“挂钩”(只能在Windows Server 2008 R2及更高版本上运行),当我请求磁盘上的文件时,它不在那里,然后从Web服务器和缓存中请求它它在当地。Windows - 在文件系统中的FileNotFound时,按需下载文件?
这些文件是不可变的,并且具有唯一的文件名。
试图打开这些文件的应用程序是用C语言编写的,只是以正常方式使用操作系统打开文件。假设它叫OpenFile
要求c:\scripts\1234.12.script
,那就是在那里它会正常打开它。如果那么它要求c:\scripts\1234.13.script
,那么它就不是那么我在操作系统中的钩子就会去问问我的Web服务的文件,下载它,然后返回该文件,因为它一直在那里。
我宁愿把它写成一个用户模式的过程(我从来没有写过一个Windows驱动程序),它应该只在特定文件夹中没有找到文件时才会触发,而且我宁愿如果可能的话写它以托管语言(C#将是完美的)。这些文件很小(< 50kB),网络服务速度快,互联网连接失明,所以我不希望它需要一秒多的时间来下载文件。
我的问题是 - 我从哪里开始寻找关于这种事情的信息?如果有人做了类似的事情 - 你知道我有什么选择吗(例如可以在C#中完成吗?)?
我怀疑它可能相当复杂,谢谢你的回答和指导。你的产品看起来很有趣,目前我已经通过改变应用程序的代码寻找文件本身来解决它(例如,它首先检查,如果它不在磁盘上,则获取文件)。 –