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
Eseguire i worklow di GitHub su runner potenziati
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Gestire i dati con Azure Cosmos DB Data Explorer
Introduzione ai web component HTML
Cancellare una run di un workflow di GitHub
Selettore CSS :has() e i suoi casi d'uso avanzati
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Utilizzare Azure Cosmos DB con i vettori
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare Hybrid Cache in .NET 9
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework