当前位置:编程学习 > C#/ASP.NET >>

请高手指点,读取标准输出流(按行读取)导致错误的问题

我的程序调用别的程序,需要将外部程序执行过程中的信息不断的打印出来,当一个程序输出的信息过大时,导致死机了,不知道怎么解决了,
private void MonitoringStdOuput()
        {
            while (true)
            {
                if (_process == null || _process.HasExited)
                {
                    break;
                }
                string line;
                char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];
                while (!_process.HasExited && (line = _process.StandardOutput.ReadLine()) != null)
                {
                    if (OnGetOutputString != null)
                    {
                        OnGetOutputString(line );//此方法是一个委托  主要向界面输出信息的
                    }
                }
                Thread.Sleep(100);// 暂时释放cpu资源 

                }
        }

现在在这里报错    while (!_process.HasExited && (line = _process.StandardOutput.ReadLine()) != null)
说缓冲区小,不知道怎么解决,或者执行到这里的时候,直接死机了.请各位高手指点. --------------------编程问答-------------------- --------------------编程问答-------------------- 把char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];这句注释掉再试
--------------------编程问答-------------------- char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];
这句没用,删掉看看!! --------------------编程问答-------------------- 自己已经解决,谢谢大家 --------------------编程问答-------------------- 怎么解决的啊
写出来
我也遇到这个问题
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,