Quelle est la manière correcte de gérer les erreurs côté client des applications Silverlight? J'ai essayé de construire un point de terminaison de service qui recevrait des détails sur l'erreur, puis j'écrirais cette chaîne dans la base de données. Le problème est, le texte de l'erreur dépasse la longueur maximale des octets, donc je ne peux pas envoyer le message d'exception et stacktrace. Quelle serait la meilleure façon de gérer les erreurs qui se retrouvent chez le client?Consignation des erreurs dans Silverlight
Répondre
défauts de manipulation Try ... J'ai utilisé ce modèle de MSDN
http://msdn.microsoft.com/en-us/library/dd470096%28VS.96%29.aspx
Si vous trouvez un message est trop long pour envoyer à votre service Web d'enregistrement puis essayez de définir vos propriétés de liaison tels que maxBufferSize
et maxStringContentLength
pour des valeurs suffisamment grandes. Ils par défaut à 16 Ko, personnellement, j'ai mis le mien à 2147483647 (qui est int.MaxValue
). Il est évident que vous ne pouvez pas envoyer l'exception brute directement au service Web de journalisation (les exceptions ne sont pas sérialisables), ce que j'ai fait était écrire une fonction qui prend une exception et la déplace, la traduisant en une structure conviviale WCF passé à mon point de fin de journalisation. Bien sûr, vous devez vous assurer que si cela échoue, vous avez un plan de sauvegarde, comme peut-être le connecter à un stockage isolé si vous utilisez le navigateur, ou vous connecter au système de fichiers de l'utilisateur si vous exécutez OOB élevé.
Vous ne devriez pas envisager d'enregistrer les messages d'erreur via un service. Que faire si l'erreur que vous souhaitez enregistrer est liée au service lui-même? Peut-être que le serveur qui héberge tous les services dépendants (y compris le service de consignation des erreurs) n'est pas joignable ou inaccessible. les erreurs client doivent être consignées côté client et renvoyées périodiquement au serveur lorsque la connectivité au service est disponible.
Thats ce que je ferais ...
Jetez un oeil à la nouvelle Silverlight Integration Pack pour Enterprise Library de Microsoft patterns & practices. Il fournit la plomberie pour la journalisation (côté client et via un service distant) et la gestion des exceptions avec une configuration flexible des stratégies via la configuration ou par programmation.
- 1. Erreurs de consignation dans un fichier
- 2. Consignation des erreurs: erreur source et fichier source
- 3. Gestion des erreurs critiques: consignation et e-mail
- 4. "Ne pas autoriser" dans LocationManager conserve les erreurs de consignation
- 5. consignation avec des filtres
- 6. Vous notifié des erreurs de liaison Silverlight?
- 7. Consignation des commandes du terminal dans * nix
- 8. Consignation des variables manquantes dans FreeMarker
- 9. Gestion des erreurs de réseau dans silverlight 3
- 10. Consignation des erreurs SSIS (colonne dérivée du compilateur de flux de données)
- 11. La suppression de la consignation et l'utilisation de slf4j provoquent des erreurs au niveau du ressort
- 12. Consignation des erreurs Django au lieu de les retourner pour inspecter le rappel de l'API
- 13. NHibernate - consignation
- 14. Consignation automatique des exceptions non gérées sans utiliser try/catch
- 15. Consignation des exceptions dans la base de données dans NServiceBus
- 16. Flex Builder, débogage - Sortie de la consignation de consignation automatique
- 17. Consignation des données XML dans un fichier journal xml
- 18. Consignation des instructions SQL dans Android; tiré par l'application
- 19. JavaScript consignation globale
- 20. Préemption de consignation
- 21. Silverlight ListBoxDragDropTarget Erreurs dans les listes ajoutées dynamiquement
- 22. MATLAB parallèle et consignation
- 23. Messages de consignation dans Zend Form
- 24. Contrôle de la consignation d'hibernation
- 25. Bloc d'application de consignation
- 26. Consignation de la stratégie de bibliothèque d'entreprise Consignation des informations de contexte de sécurité gérées dans ASP.NET
- 27. gestion des erreurs dans php
- 28. Traitement des erreurs dans "simplexml_load_file"
- 29. Suivi des erreurs dans Haskell
- 30. Consignation spécifique à la méthode
Ceci est pour les erreurs qui se produisent sur la fin de service et que vous voulez donner des commentaires sur le côté client. Pas pour les erreurs qui se produisent du côté client. – user20358