Introduzione
In questo articolo, vedremo in Silverlight, come verificare se c’è la connessione internet o no. Inoltre intercettare il momento in cui si ha tale possibilità, il tutto tramite il linguaggio di programmazione VB.Net e C#
Dopo aver aperto visual studio 2010, si crea un nuovo progetto in Silverlight, una volta aperto il progetto Silverlight, inseriamo nella form, un pulsante.
Passiamo in visualizzazione codice, inseriamo lo spazio dei nomi Networkinformation, di System.Net, in questo modo possiamo gestire le classi per la connessione internet.
Qui di seguito si riporta il codice delle suddette operazioni.
VB.Net
Imports System.Net.NetworkInformation
C#
using System.Net.NetworkInformation;
Nell’evento click del pulsante, precedentemente inserito, scriviamo il codice che visualizza tramite un messaggio a video, se c’è la connessione ad internet o no, il tutto utilizzando il metodo GetIsNeworkAvailable della classe networkinterface, restituisce true se è c’è la rete oppure false.
Qui di seguito si riporta il codice per il linguaggio di programmazione VB.Net e C#
VB.Net
If NetworkInterface.GetIsNetworkAvailable() = True Then
MessageBox.Show("Rete")
Else
MessageBox.Show("No Rete")
End If
C#
if (NetworkInterface.GetIsNetworkAvailable() == true)
MessageBox.Show("Rete");
else
MessageBox.Show("No Rete");
Ora scriviamo il codice, che implementa un gestore di evento della classe networkchange permettendo in questo modo, di rilevare quando la connessione cambia. L’evento NetWorkAddressChanged, ci può tornare utile, nel momento in cui vogliamo verificare se la connessione alla rete è presente oppure no.
Qui di seguito riportiamo il frammento di codice da utilizzare nell’evento di inizializzazione della nostra applicazione silverlight, per esempio nel costruttore della nostra applicazione.
VB.Net
Public Sub New()
InitializeComponent()
AddHandler NetworkChange.NetworkAddressChanged, AddressOf CambiaRete
End Sub
C#
public Page1()
{
InitializeComponent();
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
}
Mentre il frammento di codice, riguarda la funzione per l’evento NetworkaddressChanged, del precedente esempio di codice.
VB.Net
Private Shared Sub CambiaRete(ByVal sender As Object, ByVal ByVale As EventArgs)
If NetworkInterface.GetIsNetworkAvailable() = True Then
MessageBox.Show("Rete")
Else
MessageBox.Show("No Rete")
End If
End Sub
C#
void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
{
if (NetworkInterface.GetIsNetworkAvailable() == true)
MessageBox.Show("Rete");
else
MessageBox.Show("No Rete");
}
Conclusioni
L’articolo ha voluto fornire una semplice tecnica per la verifica costante della rete, informazione utile, nel caso si devono eseguire delle operazioni in rete. Tecnica che può essere utilizzata anche per applicazioni silverlight che girano al di fuori del browser.