我有一个 dot net MVC 4 应用程序,其中用户使用“创建”视图创建请求,并基于视图中的参数,控制器应该异步执行 Windows 批处理脚本。
我正在使用以下代码运行批处理脚本:
Process process = new Process();
ProcessStartInfo ProcessInfo;
ProcessInfo = new ProcessStartInfo("cmd", "/c batchfile");
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = false;
ProcessInfo.RedirectStandardError = true;
ProcessInfo.RedirectStandardOutput = true;
ProcessInfo.Arguments = string.Format("{0} {1} {2}", arg1, arg2, arg3); ;
process = Process.Start(ProcessInfo);
process.WaitForExit();
控制台应用程序进程已启动,但它总是无休止地挂起/等待。标准输出日志显示:
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\Program Files (x86)\IIS Express>
只有当我手动杀死它时,该过程才会退出。我尝试运行 Visual Studio 管理员模式,但没有帮助。
谁能建议我如何解决这个问题?