Я работаю над функцией выгрузки файлов Aspera и получаю одну ошибку в соответствии с приведенным ниже сценарием.
Я загрузил Aspera CLI с нижеуказанного URL. https://downloads.asperasoft.com/en/downloads/62
, а затем с помощью командной строки запустили приведенную ниже инструкцию, и она работала нормально.
cmd Инструкция: ascp -P33001 -QT -l500m --file-manifest = text -k 0 -o Перезаписать = всегда {Путь к исходному файлу} {имя пользователя} @ {domain}: {Папка назначения}
Работает отлично.
Затем я попытался сделать то же самое из консольного приложения с приведенным ниже кодом.
Process process = new Process();
process.StartInfo.FileName = @"E:\Projects\Research\AsperaFileUpload\AsperaFileUpload\AsperaLibrary\bin\ascp.exe";
process.StartInfo.Arguments = @"ascp -P33001 -QT -l500m --file-manifest=text -k 0 -o Overwrite=always {Source File Path} {username}@{domain}:{destination Folder}"; // Note the /c command (*)
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
//* Read the output (or the error)
string output = process.StandardOutput.ReadToEnd();
Console.WriteLine(output);
string err = process.StandardError.ReadToEnd();
Console.WriteLine(err);
Console.ReadLine();
process.WaitForExit();
Но этот код всегда выдает ошибку типа "ascp.exe: не удалось открыть TCP-соединение для S SH, выход"
Мне интересно, если та же команда работает из командной строки, почему она не работает из консольного приложения.
Может кто-нибудь, пожалуйста, помогите мне в этом.
Заранее спасибо.