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
Gestire il routing HTTP in Azure Container App
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Creare una libreria CSS universale: i bottoni
Introduzione ai web component HTML
Gestire gli accessi con Token su Azure Container Registry
Managed deployment strategy in Azure DevOps
Applicare un filtro per recuperare alcune issue di GitHub
Creare una libreria CSS universale: Cards
Anonimizzare i dati sensibili nei log di Azure Front Door
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Potenziare la ricerca su Cosmos DB con Full Text Search
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub