Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.InvalidOperationException:&x27;已在流上启动异步读取操作_C# - Fatal编程技术网

C# System.InvalidOperationException:&x27;已在流上启动异步读取操作

C# System.InvalidOperationException:&x27;已在流上启动异步读取操作,c#,C#,我写了一个程序来获取关于android设备的信息 我使用外部过程 创建类apktool: 此代码 public partial class Form1 : Form { public static Form1 instance; apktool a2; Procees_adb a1 = new Procees_adb(); List<String> fullFileName; public Form1() { Ini

我写了一个程序来获取关于android设备的信息 我使用外部过程 创建类apktool: 此代码

public partial class Form1 : Form
{
    public static Form1 instance;
    apktool a2;
    Procees_adb a1 = new Procees_adb();
    List<String> fullFileName;

    public Form1()
    {

        InitializeComponent();
        instance = this;
        a2 = new apktool();

    }
名称空间梦想工具 { 类apktool {

        if (RCH_OUT.InvokeRequired)
        {
            RCH_OUT.Invoke(new EventHandler(delegate { RCH_OUT.Text = (a2.output.ToString()); }));
        }
        else
        {
            RCH_OUT.Text = (a2.output.ToString());
            MessageBox.Show(a2.output.ToString());
        }
        if(IsDisposed)
        {
            a2.cmd.Dispose();
        }


        //cmd.Dispose();
    }
         a2.RunExternalPing("/c adb shell getprop ro.product.cpu.abi");


    }
}
} 以这种代码的形式

public partial class Form1 : Form
{
    public static Form1 instance;
    apktool a2;
    Procees_adb a1 = new Procees_adb();
    List<String> fullFileName;

    public Form1()
    {

        InitializeComponent();
        instance = this;
        a2 = new apktool();

    }
私有无效按钮2\u单击(对象发送者,事件参数e) {

        if (RCH_OUT.InvokeRequired)
        {
            RCH_OUT.Invoke(new EventHandler(delegate { RCH_OUT.Text = (a2.output.ToString()); }));
        }
        else
        {
            RCH_OUT.Text = (a2.output.ToString());
            MessageBox.Show(a2.output.ToString());
        }
        if(IsDisposed)
        {
            a2.cmd.Dispose();
        }


        //cmd.Dispose();
    }
         a2.RunExternalPing("/c adb shell getprop ro.product.cpu.abi");


    }
}
[当我第一次按下按钮时,我得到了信息,并确认

如果我再按一下 它显示cmd.BeginOutputReadLine()上的错误

System.InvalidOperationException:'流上已启动异步读取操作。'

通过add cmd.CancelOutputRead()解决的第一个问题

但现在当第二次按下按钮时,信息重复出现 如图所示

使用wait,因为上一次呼叫似乎还没有结束。我删除它不起作用。您是否检查了msdn:thx我使用cmd.CancelOutputRead();但我现在有问题,当第二次按按钮时,我会编辑我的postnow,重复信息如图中所示