I would like to start a new thread in a for loop, then create a WebBrowser control in each thread, load a page, then do some HTML analysis. I tried to use the DocumentCompleted event, but it's never got hit. The threads seems starting properly, navigation too, but the event never fires. What's wrong with my baby?
public async void Roller2()
{
for (int i = 1; i <= 1000; i++)
{
Thread myThread = new Thread(() => this.Wrapper(i));
myThread.SetApartmentState(ApartmentState.STA);
myThread.Start();
await Task.Delay(1000);
}
}
public void Wrapper(int id)
{
ReadAsync(id);
}
public void ReadAsync(int ids)
{
WebBrowser website = new WebBrowser();
website.AllowNavigation = true;
website.ScriptErrorsSuppressed = true;
website.Navigate("http://www.someurl.com/id/" + ids.ToString());
website.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//Do some analysis on sender as WebBrowser
}