Nello script #39 abbiamo visto come la classe DeviceNetworkInformation introduca informazioni dettagliate per conoscere le caratteristiche della rete a cui il device è collegato. Tale classe dispone anche dell'evento NetworkAvailabilityChanged, che si scatena quando la disponibilità della rete cambia.
Il parametro NetworkNotificationEventArgs passato al gestore dell'evento dispone delle proprietà NetworkInterface e NotificationType con le quali possiamo accedere ad un ricco insieme di enumeratori che descrivono nel particolare lo stato corrente.
DeviceNetworkInformation.NetworkAvailabilityChanged += (object obj, NetworkNotificationEventArgs args) =>
{
NetworkInterfaceInfo interfaceInfo = args.NetworkInterface;
string data2 = string.Empty;
data2 += String.Format("{0} InterfaceName: {1}", Environment.NewLine, interfaceInfo.InterfaceName);
data2 += String.Format("{0} Description: {1}", Environment.NewLine, interfaceInfo.Description);
data2 += String.Format("{0} Bandwidth: {1}", Environment.NewLine, interfaceInfo.Bandwidth);
data2 += String.Format("{0} InterfaceState: {1}", Environment.NewLine, interfaceInfo.InterfaceState); //ConnectState
data2 += String.Format("{0} InterfaceType: {1}", Environment.NewLine, interfaceInfo.InterfaceType); //NetworkInterfaceType
data2 += String.Format("{0} InterfaceSubtype: {1}", Environment.NewLine, interfaceInfo.InterfaceSubtype); //NetworkInterfaceSubType
data2 += String.Format("{0} Characteristics: {1}", Environment.NewLine, interfaceInfo.Characteristics); //NetworkCharacteristics
data2 += String.Format("{0} NotificationType: {1}", Environment.NewLine, args.NotificationType); //NetworkNotificationType
MessageBox.Show(data2);
};Questo evento può risultare molto utile per quelle applicazioni il cui funzionamento è strettamente vincolato alla presenza della rete dati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare le subissue e il loro stato di completamento in GitHub
Gestire pubblicazione Kubernetes tramite .NET Aspire
Rendere affidabile lo scale out su Azure App Service
Raggruppare risorse in .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Creare comandi nella dashboard .NET Aspire
Supporto semplificato per le left join in Entity Framework 10
Arricchire l'interfaccia di .NET Aspire
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Eseguire query in contemporanea con EF




