【发布时间】:2011-09-06 13:13:48
【问题描述】:
我一定浏览过数百篇与 StandardOutput ReadtoEnd 停止相关的文章,但似乎没有一篇能回答我的具体问题。
我的情况是,我正在为要在我的 ASP.NET MVC 应用程序中使用的第 3 方控制台应用程序创建一个包装器。我开始这个过程,将一个输入字符串(它是一个字符串格式的点文件)传递给它,然后应用程序返回一个文件(在这种情况下为 pdf)。
文件被放入标准输出(根据文档),但我似乎无法读取数据。
当我手动运行控制台应用程序时,我在输出窗口中以文本形式收到文件,但程序从未真正“退出”。我必须 CTRL+C 才能结束进程。
我猜这就是我打电话给
的原因process.StandardOutput.ReadToEnd();
就挂了?
任何人都可以对我做错的事情有所了解。我想从我的方法调用中以byte[] 的形式返回在输出中收到的文件。
感谢和道歉,如果这似乎是重复的。
【问题讨论】:
-
你处理了吗。RedirectStandardOutput = true;并确保检查控制台应用程序。正在将 STDOut 输出到 StandardError Stream 。
标签: c# process console wrapper