edx course certification 101x c# .net virtualfilesystem virtual-file

c# - certification - linux course



¿Existe una clase simple de "archivo virtual" para.NET(c#si la fuente está disponible)? (2)

Durante mucho tiempo, he estado buscando una clase en .NET que tenga una funcionalidad que permita que el sistema operativo piense que hay un archivo (o directorio, o ambos, etc.) en una ubicación en particular, pero todos los enlaces son Pasado a una función (o evento?) en el código.

Ejemplo:

Si busco en "x: / fake_directory /" veré un archivo allí, "fake_file.txt". Si hago doble clic en el archivo, Notepad.exe se iniciará y el contenido del archivo dirá "Hola mundo". "Hola mundo" vendría de mi código c #.

Ejemplo de lo que espero que la clase pueda hacer (tal vez esto lo explique mejor):

VirtualFile.Register("c:/my_file.txt", delegate { return Encoding.Ascii.GetBytes("Hello World"); });

Eso es, por supuesto, una versión simplificada de lo que estoy buscando ... pero espero que tengas la idea.

La razón por la que esto es 100% necesario es para trabajar con sistemas de código heredado o propiedad (y basura muy antigua) que requieren lectura y escritura en el sistema de archivos para comunicarse.


Creo que Dokan se ajustaría a sus necesidades para una biblioteca de sistema de archivos virtual. Dokan está escrito en c ++ pero hay una biblioteca .NET para interactuar.

Enlace Dokan

Por otro lado, creo que IPC sería mejor para lograr la funcionalidad necesaria para la que dio un ejemplo en los comentarios.


Dependiendo de si sus datos son estáticos o generados sobre la marcha, encontrará que el Sistema de archivos de devolución de llamadas o el Sistema de archivos sólidos OS Edition son adecuados para sus necesidades (ambos son nuestros productos). SolFS es un sistema de archivos virtual listo para usar con un contenedor incorporado. El sistema de archivos de devolución de llamada es un sistema de archivos virtual sin contenedor (proporciona estructura y datos sobre la marcha).