Я использую Систему. Диагностика. Процесс для выполнения команды svn из консольного приложения окон. Это - конфигурация процесса:
svn.StartInfo.FileName = svnPath;
svn.StartInfo.Arguments = string.Format("copy {0}/trunk/ {0}/tags/{1} -r head -q --username {3} --password {4} -m \"{2}\"", basePathToRepo, tagName, message, svnUserName, svnPassword);
svn.StartInfo.UseShellExecute = false;
svn.Start();
svn.WaitForExit();
Моя проблема состоит в том, что те аргументы, которые включают svn учетные данные, отправляются (я предполагаю) небезопасным способом.
Существует ли способ отправить эти аргументы в безопасном способе использовать класс Процесса?
Спасибо!
Используется стандартный механизм командной строки, который будет таким же, как и любой другой метод. Не существует "безопасного" способа отправки аргумента командной строки программе, поскольку это просто стандартный процесс.
При этом будет доступен только локально, поскольку вы уже запускаете его в учетной записи локального пользователя. Это так же безопасно, как если бы пользователь вводил это в окне командной строки ...
куда отправить? они передаются из вашего кода в WinApi. это операция в памяти, она достаточно безопасна.