我在mvc4通过'Process'类调用.exe文件时有一个API .
此.exe使用log4net,并运行另一个.exe,将文件导出到目录和子目录.在进程结束时,.exe发布到http API.
Process p = new Process();
p.StartInfo.FileName = ConfigurationManager.AppSettings["ExtractToolPath"];
p.StartInfo.Arguments = this.strcommand;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.Verb = "runas";
p.StartInfo.RedirectStandardInput = true;
p.Start();
string s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
字符串's'返回""(空白字符串).
该s放慢参数得到什么打印到控制台窗口.我在.exe的开头做了一个打印,因此我知道它甚至没有启动过程.
重要提示:当我删除log4net记录器时,'s'参数会获得一些输出,但是在执行任何需要写入权限的命令时它会失败.
我试图授予IIS可执行权限,并使用管理员用户名和密码进行模拟.我把目录分享给大家.什么都没有帮助.
| 归档时间: |
|
| 查看次数: |
18549 次 |
| 最近记录: |