En mi proyecto, tengo que crear algunos archivos temporales en un dispositivo USB, que quiero eliminar al cerrar. Así que utilicé un código comoFileStream con la opción DeleteOnClose File
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose);
Funciona bien. Pero el problema es que quiero usar una FileOption más, como Sin almacenamiento en búfer.
private const FileOptions FILE_FLAG_NO_BUFFERING = (FileOptions)0x20000000;
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose & FILE_FLAG_NO_BUFFERING);
Pero no se elimina el archivo después del cierre. Por favor ayuda.
Pero estoy obteniendo una excepción "La operación IO no funcionará. Lo más probable es que el archivo sea demasiado largo o el asa no se abrió para admitir operaciones IO sincrónicas.", Si puse | en lugar de &, cuando estoy llamando a this.fcommandHandler.Close() – Anuraj
@Anuraj: Eso no significa | está mal, significa que algo en tu uso es incorrecto. Lasse tiene razón en que necesitas | en lugar de &. La excepción es tu próximo problema para resolver. –
@Jeff Yates: Gracias, permítanme probar con algunas otras opciones. – Anuraj