Как работает File.Copy? - PullRequest
1 голос
/ 10 июня 2011

Скажем, у меня есть консольное приложение, которое работает на Machine1.Что происходит в фоновом режиме, если это приложение копирует файл из сетевой папки на Machine2 в сетевую папку на Machine3?

Идет ли он напрямую с Machine2 на Machine3 или должен пройти через Machine1, поскольку именно с этого места запускается приложение?

Причина, по которой я спрашиваю, заключается в том, что я недавно написалприложение, которое делает это, и это занимает около часа, чтобы закончить (огромный файл).Когда я поговорил с человеком, задача которого автоматизировала, они сказали, что он завершится примерно через 15 минут, когда они войдут в систему Machine2 и скопируют в Machine3.

Я использую File.Copy * 1008.* метод.

Ответы [ 3 ]

1 голос
/ 10 июня 2011

Если вы находитесь на Machine1, любая стандартная операция копирования файла должна будет получить данные с Machine2 и отправить их на Machine3 (дважды пройдя по сети). FTP - единственный известный мне протокол, в котором предусмотрены возможности копирования файлов между двумя серверами с третьего сервера без необходимости отправлять и получать данные третьему серверу.

1 голос
/ 10 июня 2011

Файл загружается на ваш компьютер, затем снова загружается на конечный компьютер, да.

0 голосов
/ 10 июня 2011

Я сам не пробовал, но одним из способов может быть использование Powershell для вызова небольшого скрипта на Machine1, который копирует файл непосредственно на Machine2.

Существует msdn блог о том, как вызвать сценарий PS из C #.Если вы объедините его с этой статьей WindowsITPro о том, как удаленно вызывать команды, это может сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...