我有一个项目从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;
}
我不知道问题出在哪里?
感谢所有帮助
Webbrowser控制版本是11.0.10240.16485 使用Awesomium引擎是第二个计划,因为重写代码需要时间。 谢谢 – user4502388