Come recuperare le informazioni sull'uso della connessione (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
In questo argomento viene illustrato come accedere a informazioni sull'uso della larghezza di banda in una connessione di rete per un periodo di tempo specifico mediante le classi dello spazio dei nomi Windows.Networking.Connectivity.
Per istruzioni generiche su come recuperare profili di connessione e accedere a informazioni mediante questi oggetti, vedi Come recuperare le informazioni sulla connessione di rete.
Cosa sapere
Tecnologie
Prerequisiti
Gli esempi seguenti usano JavaScript e sono basati sull'esempio di informazioni di rete. Per informazioni generali sulla creazione di un'app di Windows Runtime in JavaScript, vedi Creare la prima app di Windows Runtime in JavaScript.
Recuperare i dati relativi al costo della connessione Internet per l'ora precedente
La funzione dell'esempio seguente recupera innanzitutto l'oggetto ConnectionProfile per la connessione Internet. Per recuperare i dati di cui abbiamo bisogno, vengono passati il valore DateTime di sistema (currTime) e un valore startTime al metodo getNetworkUsageAsync. Viene restituito un oggetto NetworkUsage che contiene i valori inviati e ricevuti, in byte, per il periodo di tempo richiesto.
Per scenari con app mobili, puoi aggiungere un valore RoamingStates alla chiamata di getNetworkUsageAsync per impostare come ambito dei dati relativi al traffico richiesti i periodi di tempo in cui il dispositivo viene usato in roaming.
var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function DisplayLocalDataUsage() {
var currTime = new Date();
//Set start Time to 1 hour (3600000ms) before current time
var startTime = new Date(currTime - 3600000);
//Get the ConnectionProfile that is currently used to connect to the Internet
var connectionProfile = networkInfo.getInternetConnectionProfile();
var LocalUsage = connectionProfile.getNetworkUsageAsync(startTime, currTime);
var lclString = "Local Data Usage: \n\r";
lclString += "Bytes Sent: " + LocalUsage.bytesSent + "\n\r";
lclString += "Bytes Received: " + LocalUsage.bytesReceived + "\n\r";
}
Nota Per recuperare informazioni relative al costo di un periodo di tempo specifico per connessioni senza connettività Internet, devi usare una procedura simile. La differenza riguarda l'enumerazione iniziale dei profili di connessione disponibili mediante NetworkInformation.getConnectionProfiles.
Differenza di comportamento tra app di Windows Store e app per Windows Phone
Il metodo GetNetworkUsageAsync ha un comportamento diverso su Windows 8.1 e Windows Phone 8.1. Quando il metodo GetNetworkUsageAsync viene chiamato in Windows Phone, la matrice di oggetti NetworkUsage restituita avrà sempre la proprietà ConnectionDuration impostata su 0, poiché tale proprietà non è impostata in Windows Phone.
Argomenti correlati
Altro
Creazione della prima app di Windows Runtime in JavaScript
Come gestire le eccezioni nelle app di rete
Come gestire i vincoli di costo per le reti a consumo
Come gestire gli eventi di connessione e di modifica della disponibilità
Come recuperare le informazioni su scheda di rete e località
Come recuperare le informazioni sulla connessione di rete
Riferimento
ConnectionProfile.getNetworkUsageAsync
NetworkInformation.getConnectionProfiles
Windows.Networking.Connectivity
Esempi