如何在c#thread中读取cookie文件

时间:2013-05-05 07:49:22

标签: c# multithreading c#-4.0

我有这个函数用于读取C#中的cookie文件:

private void getdocument()
{
 while (true)
 {
 MessageBox.Show(webBrowser1.Document.Cookie);
 }
}

我这样调用它:

private void Form1_Load(object sender, EventArgs e)
{
 Thread MyThread = new Thread(new ThreadStart(getdocument));
 MyThread.Start();
}

但是我收到了一个错误:

  

System.InvalidCastException未处理

     

指定的演员表无效。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

enter image description here

正如您在对象层次结构中看到的那样WebBrowser继承自System.Windows.Forms.Control,因此您需要从创建它的线程中获取它。

修复:

private void getdocument()
{
    while (true)
    {

        this.Invoke((MethodInvoker) delegate
            {
                MessageBox.Show(webBrowser1.Document.Cookie);
            });
    }
}