2015-10-05 57 views
0

我有一个项目从web读取内容并将其保存到数据库。当我等待Ajax更改时,Webbrowser中的错误

我使用Timer控件来等待ajax的变化,并且它已经工作了很长时间没有任何问题。

但意外的是它不再工作。我得到以下错误:

抛出异常:在 “System.Runtime.InteropServices.COMException” SnapshotInfo.exe

其他信息:错误HRESULT E_FAIL已从 调用返回COM组件。

代码对这个问题的部分:

WebBrowser _browser = new WebBrowser(); 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     _browser.Dock = DockStyle.Fill; 
     _browser.DocumentCompleted += _browser_DocumentCompleted; 
     Controls.Add(_browser); 
    } 

    private void _browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 

     if (!timer1.Enabled) 
     { 
      // do any thing 
     } 

    } 

    private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     _browser.Dispose(); 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     if (_browser.Document==null || _browser.Document.Body==null) return; 
     var body = _browser.Document.Body.InnerHtml; // ----> error here 
     if (body.Contains("word")) 
     { 
      // code when word is exist 
      timer1.Enabled = false; 
     } 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     _browser.Navigate(textBox1.Text); 
     timer1.Enabled = true; 
    } 

我不知道问题出在哪里?

感谢所有帮助

回答

0

通过删除安全更新KB3087040解决了问题!