en utilisant webbrowser pour plusieurs pages

Je travaille sur un projet. Sur mon server mssql j'ai tellement d'URL et j'ai besoin de vérifier si je peux me connecter ou non. Voici mon code jusqu'à présent:

public List<WebBrowser> myBrowsers = new List<WebBrowser>(); private void button3_Click(object sender, EventArgs e) { SqlConnection connection = new SqlConnection(connectionSsortingng); connection.Open(); SiteeeID = Convert.ToInt32(listBox1.SelectedValue); ssortingng url = "select http,username,pass,userID,passID,butonID from AyrintiSite where username!=''"; DataTable dt = new DataTable(); using (SqlConnection cn = new SqlConnection(connectionSsortingng)) { using (SqlCommand cm = new SqlCommand(url, cn)) { cn.Open(); dt.Load(cm.ExecuteReader()); } } for (int i = 0; i < dt.Rows.Count; i++) { WebBrowser browser = new WebBrowser(); browser.DocumentCompleted += webBrowserDocumentCompleted; browser.Navigate(dt.Rows[i][0].ToSsortingng()); myBrowsers.Add(browser); } } private void webBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath) return; WebBrowser browser = sender as WebBrowser; browser.Document.GetElementById("KullaniciAdiTextBox").SetAtsortingbute("value", "username"); browser.Document.GetElementById("SifreTextBox").SetAtsortingbute("value", "pass"); browser.Document.GetElementById("SistemeGirImageButton").InvokeMember("click"); browser.DocumentCompleted -= webBrowserDocumentCompleted; browser.DocumentCompleted += webBrowserDestroyOnCompletion; } private void webBrowserDestroyOnCompletion(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath) return; if (e.Url.AbsolutePath.Contains("Login")) { //send e-mail } WebBrowser browser = sender as WebBrowser; browser.Dispose(); myBrowsers.Remove(browser); } 

maintenant j'ai 17 pages dans mon datatable. 10-12 d'entre eux peuvent se connecter correctement mais les autres ne peuvent pas et mon programme m'envoyer un e-mail. J'ai vérifié mille fois tout est OK sur ma database, tous devraient se connecter. Y a-t-il des erreurs sur mon code?

Naviguer vers l'URL suivante dans l'événement DocumentCompleted

Déclarez une variable pageIndex pour conserver l'index dans dt.rows:

  int pageIndex=0 ; 

Remplacez la boucle sur dt.rows par ce qui suit:

  WebBrowser browser = new WebBrowser(); browser.DocumentCompleted += webBrowserDocumentCompleted; browser.Navigate(dt.Rows[pageIndex][0].ToSsortingng()); 

"Boucle" sur dt.rows dans l'événement DocumentCompleted:

 private void webBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath) return; WebBrowser browser = sender as WebBrowser; browser.Document.GetElementById( "KullaniciAdiTextBox").SetAtsortingbute("value", "username"); browser.Document.GetElementById( "SifreTextBox").SetAtsortingbute("value", "pass"); browser.Document.GetElementById( "SistemeGirImageButton").InvokeMember("click"); pageIndex++ ; If (pageIndex<dt.Rows.Count) browser.Navigate(dt.Rows[pageIndex][0].ToSsortingng()); }