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
GitHub <3 .NET
Le novità di Entity Framework (Core) 7
Ricevere avvisi su metriche dei server Azure Arc
Specificare il versioning nel path degli URL in ASP.NET Web API
Collegare servizi a Azure Container App con i service connector
Abilitare HTTP/3 in ASP.NET Core 7.0
Leggere e scrivere su cookie tramite Blazor
Pubblicare un pacchetto di NuGet nel feed di GitHub
Utilizzare i WebSocket con Azure API Management
Montare blob e file share su Azure App Service
Usare Azure Application Gateway come reverse proxy per ASP.NET Core
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP