Tratamos de tener acceso a un directorio que está dentro de un directorio de red, pero obtener resultados erróneos (C#/Windows):Cómo forzar a Windows para volver a conectar a la unidad de red
var exists = Directory.Exists("Z:\\Sessions\\Data1");
"Z" es el directorio de red " Sesiones "es un directorio donde un software de grabación constantemente crea directorios (por ejemplo," Datos1 ") y pone algunos datos en él. Parece que Windows almacena en caché el estado incorrecto sobre Data1: el método devuelve falso. Pero cuando accedo al directorio a través de Explorer, está aquí. Cuando ejecuto el método (Directory.Exists) después de acceder al directorio con Explorer, devuelve verdadero. Por supuesto, puedo garantizar que el directorio realmente existe en el primer intento.
¿Cuál es la razón de este comportamiento? ¿Qué puedo hacer al respecto?
Editar: Parece que Windows no pudo conectar la unidad de red a la computadora remota. Cuando trato de navegar en el directorio con Explorer, automáticamente intenta conectar la unidad.
Así que la pregunta cambia: ¿Hay alguna manera de forzar las ventanas para intentar una reconexión a través de .NET?
Solución: Reconnecting a disconnected network drive
Si accede al directorio con el comando 'DIR' desde el símbolo del sistema, ¿obtiene la información correcta? Es decir: 'dir Z: \ Sesiones \ Datos1'. –
No, acceder al directorio mediante el símbolo del sistema no actualiza la conexión de la unidad de red. Por favor, vea mi edición ... – nepa