2012-01-18 6 views
1

J'ai créé une application qui se connecte à un service WCF et vérifie toutes les 1,5 seconde par un DispatcherTimer si le téléphone possède l'image la plus récente. Sinon, il téléchargera l'image la plus récente. Il se peut que le téléphone possède l'image la plus récente depuis un certain temps, disons 10 minutes. Si c'est le cas, l'intervalle de 1,5 seconde est beaucoup trop rapide. Mais quand l'image est changée sur le serveur, je veux qu'elle soit téléchargée par l'application dès que possible, disons, en quelques secondes. Je comprends que je pourrais utiliser le service de notification Push de Microsoft, mais mon projet consiste à utiliser un réseau fermé, pas d'Internet disponible. Donc, ma question est la suivante: comment puis-je abaisser et minimiser l'utilisation de mon réseau? Toute aide et conseils appréciés, merci!Réduire WP7 App charge réseau

Répondre

0

Si vous utilisez un réseau Wi-Fi fermé - même si toutes les 1,5 secondes, l'interrogation des mises à jour n'est pas un surcoût pour le réseau. Il est cependant pour la batterie de votre appareil.

Faites-le toutes les 10 secondes et vous êtes dans un «moyen d'or». Comme pour le WCF lui-même, assurez-vous de renvoyer une valeur booléenne du serveur en réponse à la question de l'application du client "Y at-il des mises à jour d'image?" et vous avez votre minimum de données envoyées en arrière.

Depuis Windows Phone doesn't support WCF Duplex channels, vous ne pouvez pas utiliser la meilleure approche de configuration du serveur pour vous avertir uniquement lorsque les images sont mises à jour sur le serveur.

+0

La réduction de 10 secondes sera trop lente pour que l'image soit mise à jour. Je renvoie actuellement une valeur booléenne, de sorte que je ne télécharge pas l'image encore et encore. Je voudrais en savoir plus sur la liaison TCP, je vais y jeter un coup d'oeil. Merci! – Raymen

+0

Dommage qu'il n'y ait pas encore de support pour les canaux WCF Duplex. Est-ce que l'utilisation de douilles abaisserait le drain de la batterie? Merci – Raymen

+0

Si vous appelez toujours l'actualisation toutes les 1,5 secondes, vous allez toujours charger le processeur, ce qui vide la batterie. –