Je souhaite l'utiliser pour appeler certains scripts JS sur la page Web. J'ai ceci:Utilisation de WebBrowser dans une application console
static void Stuff()
{
WebBrowser browser = new WebBrowser();
browser.Navigate("http://www.iana.org/domains/example/");
HtmlDocument doc = browser.Document;
//doc.InvokeScript("someScript");
Console.WriteLine(doc.ToString());
}
static void Main(string[] args)
{
Console.WriteLine("hi");
var t = new Thread(Stuff);
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
Question 1: Je reçois une exception « référence d'objet pas encore défini » lorsque je tente d'obtenir doc.ToString()
. Pourquoi?
Question 2: Comment puis-je obtenir des données du document HTML dans le programme principal? WebBrowser
nécessite un thread séparé, ce qui nécessite une méthode statique qui ne peut renvoyer aucune valeur. Comment puis-je retourner, par exemple, doc
au Main()
pour que je puisse faire quelque chose avec?
Les méthodes statiques peuvent réellement renvoyer une valeur. Ce sont les threads qui ne peuvent pas. En outre, les threads * peuvent * utiliser une méthode non statique. – icktoofay
Pourquoi cela est-il déprécié? – Amy