如何使用Process类安全地发送参数?

时间:2010-04-27 16:56:21

标签: c# svn command-line windows-console

我正在使用System.Diagnostics.Process从Windows控制台应用程序执行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凭证的参数是以不安全的方式发送的(我想)。

有没有办法使用Process类以安全的方式发送这些参数?

谢谢!

2 个答案:

答案 0 :(得分:1)

发送到哪里?它们从您的代码传递到WinApi。它是内存中的操作,足够安全。

答案 1 :(得分:1)

这是使用标准命令行机制,它将与任何其他方法相同。没有“安全”的方式将命令行参数发送到程序,因为它只是一个标准过程。

话虽如此, 只能在本地访问,因为您已在本地用户的帐户中运行此功能。这与用户在命令提示符窗口中输入此内容一样安全......