2012-12-17 4 views
0

J'ai une application Silverlight 5 qui peut fonctionner dans le navigateur et hors navigateur. Lorsqu'il n'est plus dans le navigateur, il devrait pouvoir utiliser les données précédemment téléchargées (XML et JPG) pour fonctionner sans connexion Internet.Silverlight OOB application exception non interceptée lors du démarrage hors connexion

Actuellement cela fonctionne, mais j'ai une exception non gérée au démarrage (qui est attrapée par le gestionnaire d'événement UnhandledException de mon application) qui est montrée à l'utilisateur avec un message effrayant - quelque chose comme à présent.' avec les détails optionnels étant 'E_UNEXPECTED'. L'erreur se produit à la fois sur ma machine dev et sur d'autres, y compris un client utilisant MacOS X.

Bien sûr, je pourrais changer le message, mais ce n'est pas le point. Donc, ma question: ce qui pourrait causer une erreur seulement au démarrage hors ligne, erreur qui, lorsqu'elle est interceptée par un gestionnaire UnhandledException, ne semble pas affecter la stabilité de l'application?

Répondre

0

J'ai trouvé le coupable (en enregistrant mes étapes de démarrage): c'est la vérification des mises à jour.

Si j'appelle Application.CheckAndDownloadUpdateAsync() alors qu'aucune connexion n'est disponible, j'obtiens cette exception. Si je vérifie si une connexion est disponible (*) avant de lancer la vérification des mises à jour, l'exception disparaît.

Ceci n'est pas documenté dans http://msdn.microsoft.com/en-us/library/dd730310%28VS.95%29.aspx, donc cela ressemble à un bogue dans l'exécution de Silverlight.

(*) Basé principalement sur NetworkInterface.GetIsNetworkAvailable(), plus quelques contrôles personnalisés.

Questions connexes