2010-02-02 22 views
6

Estoy usando File.Copy (source, dest, true) para copiar un archivo de local a remoto con la opción de sobrescribir. En mi caso, el dest es una unidad de red:File.Copy() sincronización o asycn?

File.Copy(source, dest, true); 
UnMapDrive(); // unmap the network drive 

El problema que tengo es después de que el archivo de origen puede ser bloqueado por lo que no podía borrar el archivo desde el local.

Supongo que podría ser causado por la llamada File.Copy(). No estoy seguro de si este es un proceso sincronizado o no. En otras palabras, ¿se libera el archivo fuente después de la llamada?

Respuesta

3

Sí, se libera y el método File.Copy bloquea la ejecución hasta que finaliza la operación de copia.

El archivo puede estar disponible para lectura pero bloqueado para su eliminación.

Compruebe con Process Monitor qué proceso está bloqueando el archivo de origen.

+0

Tienes razón. Encontré otro error en mi código (otros lugares) y esa es la razón para causar el problema. File.Copy() está bien para liberar los archivos. ¡Gracias! –

Cuestiones relacionadas