Ho creato un'unità virtuale in C# utilizzando la libreria Dokan (.NET) e funziona abbastanza bene.Dokan/Dokan.NET (not) supporta I/O sincrono?
Tuttavia, quando provo a leggere un file dall'unità in un'altra applicazione ottengo un'eccezione ogni volta che si utilizzano operazioni che leggono in modo sincrono, come System.IO.File.ReadAllText(...)
.
Quindi, se sto interpretando correttamente, .NET sembra cercare di leggere l'intero contenuto del file in una singola operazione sincrona, ma Dokan non sembra consentirlo.
Ma quando si utilizza un metodo come ReadAllText
in realtà non ho alcun controllo sul modo in cui è costruito il FileStream
(non è che l'intero punto di quel metodo, dopo tutto, ottiene semplicemente il contenuto del file senza doversi preoccupare con stream e lettori e buffer e quant'altro?).
È possibile ottenere Dokan per supportare in qualche modo l'accesso I/O sincrono alle relative maniglie di file? O devo in qualche modo convivere con il fatto che le operazioni sincrone non sono possibili sui file ospitati da Dokan (e spero che nessuna applicazione che possa mai funzionare sul mio disco virtuale dipenda da loro)?
Sei riuscito a risolvere questo problema. Sono nuovo di Dokan. Il più recente è attualmente 0.6 – Bamboo