Il seguente programma si collegherà al web e otterrà il contenuto html della pagina Web "msnbc.com" e stamperà il risultato. Se ci vogliono più di 2 secondi per ottenere i dati dalla pagina web, voglio che il mio metodo smetta di funzionare e restituisca. Per favore, dimmi come posso farlo con un esempio?C# Come fermare un metodo se impiega più di 2 secondi?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
gethtml();
MessageBox.Show("End of program");
}
public void gethtml()
{
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create("http://msnbc.com/");
WebResponse Response = WebRequestObject.GetResponse();
Stream WebStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(WebStream);
string webcontent = Reader.ReadToEnd();
MessageBox.Show(webcontent);
}
}
Probabilmente si desidera eseguire l'operazione di recupero in un thread, e interrompere il filo se ci vuole più di due secondi (tramite una configurazione/richiamo del timer). – ashes999
@ ashes999: Questa è una pessima idea. ** Abortisci una discussione solo se stai pianificando di eliminare l'intero processo. ** Interrompere una discussione dovrebbe essere l'ultima risorsa. L'interruzione di un thread gestito può danneggiare arbitrariamente le strutture dati. –
Grazie mille per tutte le vostre risposte. –