我想将aspx页面中的标签或文本框的值传递给console.exe应用程序 如果值为sample.doc则更改为。
我使用
从aspx页面调用 string f = TextBox1.Text;
System.Diagnostics.Process.Start("C:/DocUpload/ConsoleApplication1.exe", f);
我尝试过转换为字符串然后使用字符串vatiable inplace of sample.doc但没有运气
object FileName = System.IO.Path.Combine(ExecutableFileInfo.DirectoryName,“sample.doc”);
欢迎任何帮助或想法。 谢谢你
答案 0 :(得分:0)
以下是我用来从调用应用程序启动进程的方法。由于您是从网络应用程序调用它,因此您需要确保拥有适当的权限。
Process proc = new Process();
StringBuilder sb = new StringBuilder();
string[] aTarget = target.Split(PATH_SEPERATOR);
string errorMessage;
string outputMessage;
foreach (string parm in parameters)
{
sb.Append(parm + " ");
}
proc.StartInfo.FileName = target;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.Arguments = sb.ToString();
proc.Start();
proc.WaitForExit
(
(timeout <= 0)
? int.MaxValue : (int)TimeSpan.FromMinutes(timeout).TotalMilliseconds
);
errorMessage = proc.StandardError.ReadToEnd();
proc.WaitForExit();
outputMessage = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
指向MSDN的链接:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
您还需要检查以确保运行Web应用程序的帐户具有执行程序的相应权限。
答案 1 :(得分:0)
您可能正在尝试处理位于其他文件夹中的文件。
如果是这样,您需要传递文件的完整路径,如下所示:
Process.Start(@"C:\DocUpload\ConsoleApplication1.exe",
Path.Combine(@"C:\path\to\folder", TextBox1.Text));