2009-11-07 12 views
4

J'ai une application Silverlight 3 déployée sur plusieurs sites clients. Les clients reçoivent occasionnellement une exception System.Reflection.TargetInvocationException avec une exception interne de Async_ExceptionOccurred.Quelle est la cause des erreurs intermittentes Async_ExceptionOccurred dans une application Silverlight?

Quelle est la cause de ceci? Est-ce juste un manque de fiabilité dans les communications avec le serveur? Existe-t-il un moyen de configurer WCF pour effectuer une relance automatique des messages?

Répondre

1

Je l'ai vu lorsque nos serveurs IIS sont à court de mémoire et que les services ne répondent plus au client. Ils semblent partir avec une réinitialisation IIS

1

Je vois la même chose avec une application Silverlight. Je peux repro cette erreur avec Fiddler:

  • Règles -> Performance -> Simuler modem speeeds
  • Vous verrez votre svc WCF se faire frapper, clic droit et 'annuler la session.

Est-ce que ce sont simplement les connexions Internet qui s'échappent? Lorsque cela se produit dans mon environnement prod, je ne vois aucun hit dans le WCF SVC lorsque l'exception se produit dans Silverlight. Donc, ce n'est même pas aussi loin que notre serveur. J'ai eu un problème très similaire dans le passé causé par un pare-feu faisant quelque chose de drôle et de tuer les connexions.

Je suis parti avec deux options:

  • mise à jour de l'application silverlight pour afficher un message lorsque nous cette erreur. Peut-être modifier CHAQUE coup de WCF pour tenter 5 fois puis montrer une erreur. Yuck!
  • isoler les éventuels problèmes de pare-feu. Exécutez un harnais de test pour reproduire l'erreur. Testez-le dans des environnements avec/sans pare-feu.