2010-12-02 16 views
2

J'ai développé une application WP7 qui inclut des fonctionnalités de type "Locate Me" avec Bing Maps.L'application WP7 se ferme quand elle est déployée

J'ai un prototype de WP7 et je peux le déployer sans problème. 2 de mes collègues ont des appareils WP7 de détail et lors de l'exécution de l'application, il quitte toujours à un certain point.

Je suppose que l'accident se produit dans cette section de code:

void UpdateMap(GeoPosition<GeoCoordinate> position, double zoom) 
    { 


     _foundLocation = position; 
     mapLocation.Center = position.Location; 
     mapLocation.ZoomLevel = zoom; 
     txtStatus.Text = "Found you within " + position.Location.HorizontalAccuracy.ToString(AccuracyFormat) + " meters"; 

     //Display address to user 
     DisplayLocationAddress(position.Location.Latitude, position.Location.Longitude); 

     //Stop the watcher if horizontal accuracy is high enough for requirements to converse battery power. 
     if (watcher != null && watcher.Position.Location.HorizontalAccuracy <= DesiredAccuracy) 
     { 
      watcher.Stop(); 
     } 
    } 

Parce que le message concernant HorizontalAccuracy est affiché ainsi que l'adresse obtenue à partir de géocodage inverse.

Toutefois, la carte devient blanche (comme si elle était sur le point de se centrer sur Location), puis l'application se ferme.

Les deux appareils fonctionnent correctement lors du débogage de l'application par Visual Studio 2010.

Tout ce que je peux penser est que si connecté à mon ordinateur les périphériques utilisent la connexion Internet via le câble USB, mais lorsqu'il est déconnecté utilisent des données cellulaires . Cependant je ne peux pas imaginer pourquoi cela le ferait sortir.

Comme les deux fonctionnent pendant le débogage, comment puis-je procéder pour localiser le problème?

MISE À JOUR

J'ai mis en place de gestion des erreurs comme suggéré et je reçois l'erreur suivante: informations d'identification sont valides ou non précisées sur les 2 appareils qui ne fonctionnent pas. Cependant, comme mentionné ci-dessus seulement lors du déploiement, pas lors de l'exécution de Visual Studio.

+0

Où est cette erreur vient? À quoi ressemble la trace de la pile? –

+0

En fait, l'erreur est due à l'obtention de l'adresse de l'API de géocodage inversé des cartes Bing. Au cours des dernières minutes sans faire de changements, il a commencé à fonctionner. Donc je suppose que c'était une erreur avec le webservice Bing? – Fishcake

Répondre

2

Avez-vous un gestionnaire d'exception global, au moins pour le thread d'interface utilisateur? Vous voudrez peut-être en inclure une qui affiche un message d'erreur poli dans une version de publication, et les détails de l'exception pour les versions de débogage.

Ce ne sera pas utile pour:

  • exceptions lancées sur d'autres sujets
  • exceptions irrémédiables telles que les erreurs de débordement de pile

Si vous lancez à partir VS2010 mais sans débogage - donc il utilise toujours la connexion USB - est-ce qu'il plante toujours?

+0

Actuellement aucun gestionnaire d'exception global. J'en ajouterai un et je verrai ce qu'il va produire. – Fishcake

+0

Question éditée ci-dessus – Fishcake

0

Quelque chose ne va pas avec les informations d'identification de Bing Maps?

<my:Map 
     Margin="6" 
     CredentialsProvider="{StaticResource BingCredentials}"> 

etc.