Debug che si chiude da solo :-(

giovedì 05 gennaio 2012 - 03.40
Tag Elenco Tags  C#

82_marco Profilo | Junior Member

Ciao a tutti,

Sto usando questopezzo di codice che dovrebbe verificare la presenza di una connessione internet e mi restituisce l'ip pubblico dela macchina:


//private void CheckConnection(object state)
//{
// var p = new System.Net.NetworkInformation.Ping();
// var risp = p.Send("www.google.it");
// if (risp.Status == System.Net.NetworkInformation.IPStatus.Success)
// {
// WebRequest web = WebRequest.Create(new Uri("http://www.showmyip.com/simple/"));
// WebResponse wr = web.GetResponse();
// StreamReader sr = new StreamReader(wr.GetResponseStream());
// string MioIP = sr.ReadToEnd();

// BeginInvoke(new UpdateTextHandler(UpdateText), "INDIRIZZO IP: " + MioIP);
// }
// else
// {
// BeginInvoke(new UpdateTextHandler(UpdateText), "NON CONNESSO");
// }
//}

//private void UpdateText(string text)
//{
// label1.Text = text;
//}

Il problema e' che in fase di debug se la conessione e' presente tutto funziona come dovrebbe, ma se stacco il cavo dalla presa telefonica o se tolgo il cavo di rete dal pc il software esce dal debug.

Da quanto ho capito ci dovrebbe essere una eccezione su: var risp = p.Send("www.google.it");

Come mi consigliate di risolvere?

GRazie

Jeremy Profilo | Guru

Ciao Marco
Quello che succede è assolutamente normale in quanro, come capirai, se non c'è una connessione attiva, l'operazione non avrà successo e quindi ti restiuisce una eccezione.
Quello che devi fare è gestire l'eccezione, semplicemente scrivendo il tuo codice all'interno di un costrutto Try. . .Catch
Try Tuo codice Catch ex as exception Codice che gestisce l'eccezione end try

Facci sapere. . . .
Ciao

82_marco Profilo | Junior Member

Perfetto funziona :-) grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5