Si mi cliente .NET utiliza System.IO.File.Copy para copiar un archivo desde \ server1 \ share1 \ file1.txt a \ sever1 \ share2 \ file2.txt, qué los datos del archivo consiguen leídos hasta el cliente y luego escrito de nuevo en el servidor? En caso afirmativo, ¿hay alguna forma de que un cliente .NET pueda copiar un archivo en un servidor a otra ubicación en el mismo servidor sin tener que realizar un corte circular del archivo? ¿Hay alguna diferencia si el recurso compartido de destino es el mismo que el recurso compartido de origen?¿File.Copy() de un recurso compartido de red a otro recurso compartido en el mismo equipo copia el archivo a través de la red?
Respuesta
Sí lo hace. Puedo decir esto por experiencia personal al copiar archivos Zip de 10 GB entre máquinas. La máquina "cliente" estaba en una costa diferente de América que las otras dos máquinas. Entre las dos máquinas directamente de una de ellas tomó un tiempo razonable. Intentar iniciar la copia desde la máquina en la otra costa tomó ~ 10 horas :(
Esa es una pregunta excelente: parece que no puedo encontrar una respuesta definitiva, así que quizás lo mejor sea disparar Wireshark para una prueba.
El contenido del archivo debe pasar por la máquina que realiza la operación Copiar. La única manera de evitar esto es ejecutar programas en la máquina objetivo (s)) que realizan la transferencia sin la máquina del cliente en el medio, como FXP que usa FTP para transferir el servidor al servidor.
Sin embargo, la apertura de esta vía también puede abrir una laguna de seguridad y sospecho que muchos administradores serían reacios a permitir esto.
Si es posible hacer un movimiento en lugar de una copia, eso debería suceder al instante. De lo contrario, debe poner un servicio en la máquina de destino para que pueda llamarlo de forma remota
¿De verdad? ¿Puedes probarlo? – flipdoubt
No estoy seguro de lo que quiere decir con "probar" aquí. Me lo demostré solo en Windows Vista. Darle una oportunidad. Use Explorer en el equipo A para acceder a un recurso compartido en el equipo B, y 'Cortar' una gran subcarpeta y 'Pegar' en otro lugar bajo el mismo recurso compartido. Se moverá al instante. –
Según lo explica @cdonner, esto solo funcionará si las dos carpetas están en el mismo recurso compartido. Si hay dos participaciones diferentes, la mudanza se realizará como una copia + eliminación, incluido un viaje de ida y vuelta al cliente. – Anlo
Esta es una vieja pregunta, pero no creo que haya una respuesta correcta aquí.
De hecho, hay 2 preguntas (3 preguntas, pero la tercera es redundante).
La primera pregunta es si un proceso .Net que se ejecuta en una (3) máquina cliente copia un archivo de un recurso compartido de red a otro recurso compartido de red, ¿hay diferencia si los recursos compartidos de origen y destino están en la misma computadora (diferente del cliente) frente a 2 computadoras diferentes? La respuesta es claramente no. No hay ningún mecanismo, ningún túnel secreto entre los recursos compartidos de red. Los datos deben viajar al cliente y luego al otro compartir. No importa si la operación es una copia o un movimiento, y en realidad no importa si las acciones están en la misma computadora que el cliente (y realmente se accede a las carpetas como recursos compartidos de red con una ruta UNC y no como carpetas locales).
La segunda pregunta es, ¿cómo se puede evitar este viaje de ida y vuelta? Aquí están algunas sugerencias:
- Si el origen y el destino están en el mismo recurso compartido, mover un archivo no requiere un viaje de ida y vuelta, porque el sistema operativo solo actualiza las referencias en el sistema de archivos.
- Un proceso que se ejecuta en la máquina con el recurso compartido de origen o destino puede realizar la copia sin una ida y vuelta al cliente. Este proceso puede ser una copia remota, etc. si cualquiera de los hosts ejecuta Linux. En un host de Windows, puede instalar un servicio WCF que copie archivos cuando llegue una solicitud de un cliente.
- 1. Copia desde el recurso compartido de red usando BAT
- 2. Excepción de seguridad .NET en un recurso compartido de red
- 3. ¿Cómo implementar un método de copia de seguridad en C# desde un recurso compartido de red?
- 4. Delphi escribiendo en un recurso compartido de red utilizando TFilestream bloquea el archivo cuando se pierde la red
- 5. . La aplicación .NET 4.0 en el recurso compartido de red causa SecurityException
- 6. Averigüe quién está bloqueando un archivo en un recurso compartido de red
- 7. ¿Tiene problemas de rendimiento cuando trabaja en proyectos de Visual Studio a través de un recurso compartido de red?
- 8. Encontrar el camino de un recurso compartido de red montada en Mac OS X
- 9. Enlace a un recurso compartido de archivos a través de una etiqueta de ancla
- 10. Cómo: evitar el tiempo de espera al inspeccionar el recurso compartido de red no disponible - C#
- 11. ¿Cómo copiar un archivo desde un recurso compartido de red al disco local con variables?
- 12. Composición de MEF cuando la aplicación está en un recurso compartido de red
- 13. ¿Cómo accedera erlang el recurso compartido?
- 14. Copiar archivos a través de la red mediante el uso compartido de archivos, autenticación de usuario
- 15. en ejecución "de confianza" parcialmente ensamblados .NET desde un recurso compartido de red
- 16. error 1219. múltiples conexiones a un servidor o recurso compartido por el mismo usuario
- 17. ¿Cómo puedo depurar soluciones en Visual Studio 2010 desde un recurso compartido de red?
- 18. ¿Hay una cola que funcione en el recurso compartido de red?
- 19. Copia de archivos a través de una conexión intermitente Red
- 20. El comportamiento de bloqueo es diferente a través de los recursos compartidos de red
- 21. Determinar si existe un recurso compartido de red antes del montaje
- 22. Complemento VSTO Excel 2007 no se puede instalar desde un recurso compartido de red
- 23. Obtenga .NET para considerar un recurso compartido de red específico para ser totalmente confiable
- 24. ¿Cómo obtener la URL de un recurso compartido de Wicket?
- 25. ¿La tabla temporal de MySQL es un recurso compartido?
- 26. Recurso estático compartido en diccionarios fusionados
- 27. Nginx: "Recurso temporalmente no disponible" utilizando un recurso compartido de Samba
- 28. Copiar archivos a través de la red (requiere autenticación)
- 29. Acceda al recurso compartido NFS desde el programa Java
- 30. ¿Cómo comprobar si el archivo EXE compartido de red es utilizado por más de un usuario?
¿Por qué no vota su pregunta? Tal vez lo haya hecho y fue rechazado nuevamente, pero parece que mucha gente se olvida de votar por buenas preguntas. – Ash
Gracias por el +1 y gracias por la sugerencia de la herramienta.Voy a actualizar mi pregunta con la salida de la herramienta como prueba de la respuesta "sí" aceptada, tan pronto como me acerque a ella. – flipdoubt