Ho codice seguente in una funzione chiamata Page_Load. Quando la pagina viene caricata per la prima volta dopo l'avvio di Visual Studio, tutto funziona correttamente.
Ma qualsiasi altra chiamata apertura al file dopo che restituisce IOException: "File is in use by another process"
, anche quando si apre direttamente il file in VisualStudio Soluzione Questo errore viene restituito (ovviamente non come eccezione)FileStream.close() non rilascia file per altri processi
FileStream mailinglist_FileStream = new FileStream(@"\foobarFile.txt", FileMode.Open);
PeekingStreamReader mailinglist_Reader = new PeekingStreamReader(mailinglist_FileStream);
//Do some stuff with the file
mailinglist_FileStream.Close();
mailinglist_Reader.Close();
mailinglist_Reader.Dispose();
mailinglist_FileStream.Dispose();
Perché il file ancora bloccato? e perché il riavvio completo di Visual Studio ripristina il file? durante il controllo di file-Properties si dice:
Corporatura Azione: Content
Copia directory di output: non copiare
sto solo leggendo questo file. posso fare qualcosa di simile a adLockOptimistic
, in modo che più processi possano accedere al file?
Nota: utilizzare l'istruzione using invece di chiudere e smaltire gli oggetti manualmente –