Nello script #79 abbiamo visto come sia possibile conoscere i device collegati grazie alla classe DeviceInformation e al metodo FindAllAsync.
DeviceInformation espone anche il metodo CreateWatcher, con il quale possiamo creare un oggetto DeviceWatcher e conoscere quando una periferica viene collegata o rimossa.
DeviceWatcher per questo espone gli eventi Added, Removed e EnumerationCompleted che scattano rispettivamente all'aggiunta, rimozione e completamento dell'enumerazione di tutte.
DeviceWatcher si mette in ascolto dopo l'invocazione del metodo Start.
var log = new StringBuilder(); DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice); watcher.EnumerationCompleted += async (DeviceWatcher obj, object args) => { log.AppendLine("EnumerationCompleted"); await Log(log); }; watcher.Added += async (DeviceWatcher obj, DeviceInformation args) => { log.AppendLine("Added "+args.Id); foreach (var prop in args.Properties) { log.AppendFormat(" Propertiey Key {0} Value {1} {2}", prop.Key, prop.Value, Environment.NewLine); } await Log(log); }; watcher.Removed += async (DeviceWatcher obj, DeviceInformationUpdate args) => { log.AppendLine("Removed " + args.Id); foreach (var prop in args.Properties) { log.AppendFormat(" Propertiey Key {0} Value {1} {2}", prop.Key, prop.Value, Environment.NewLine); } await Log(log); }; watcher.Start();
Come possiamo vedere nell'esempio, il metodo CreateWatcher può accettare come parametro l'enum DeviceClass con cui mettersi in ascolto solo per specifiche famiglie di device.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Potenziare Azure AI Search con la ricerca vettoriale
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Usare il colore CSS per migliorare lo stile della pagina
Criptare la comunicazione con mTLS in Azure Container Apps
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Aggiungere interattività lato server in Blazor 8
Sfruttare al massimo i topic space di Event Grid MQTT
Gestire la cancellazione di una richiesta in streaming da Blazor
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Migliorare la sicurezza dei prompt con Azure AI Studio
Utilizzare i primary constructor in C#
Installare le Web App site extension tramite una pipeline di Azure DevOps
I più letti di oggi
- Tutorial Windows Communication Foundation
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestire la cancellazione di una richiesta in streaming da Blazor
- Repository con code-first di Entity Framework
- Blazor: Security
- Utilizzare WebAssembly con .NET, ovunque
- Protobuf: un serializzatore alternativo per WCF