Quiero usarlo para invocar algunos scripts JS en la página web. Tengo esto:Uso de WebBrowser en una aplicación de consola
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();
}
Pregunta 1: Tengo una "referencia a objeto no establecida" excepción al intentar obtener doc.ToString()
. ¿Por qué?
Pregunta 2: ¿Cómo obtengo algunos datos del documento HTML en el programa principal? WebBrowser
requiere un hilo separado, que requiere un método estático que no puede devolver ningún valor. ¿Cómo devuelvo, digamos, doc
al Main()
para que pueda hacer algo con él?
Los métodos estáticos en realidad pueden devolver un valor. Son hilos que no pueden. Además, los hilos * pueden * usar un método no estático. – icktoofay
¿Por qué está esto downvoted? – Amy