2010-02-16 14 views

Répondre

1

Voilà comment je résolu mon problème d'obtenir correctement les exceptions au client Silverlight. Similaire à Rus 'mais ne nécessite pas d'emballage d'exceptions. Bien qu'il nécessite le numéro de version pour être exact dans web.config (travaille toujours sur la résolution que)

Programmatic configuration of Exception-sending in WCF

1
+0

+1 parce que je ne savais pas de ce mécanisme. –

+0

Cela concerne la gestion des erreurs, pas les diagnostics. Dans mon cas, il n'y a pas d'exception côté serveur (au moins dans ma méthode de service). Le fichier .svclog ne contient aucune erreur bien qu'il soit cassé (TraceViewer indique 'la fin inattendue du fichier' en l'ouvrant). Donc, je voudrais obtenir quelque chose de plus utile que «non trouvé» du côté client. – UserControl

1

Si vous obtenez un « non trouvé » erreur la cause la plus probable est l'accès inter-domaine politique. Ce que j'utilise pour essayer de diagnostiquer ces problèmes est Fiddler2, et regarde le trafic brut.

+0

Merci! Essayé Fiddler et obtenir seulement "ReadResponse() a échoué: Le serveur n'a pas retourné une réponse pour cette demande." Cependant, mon problème n'est pas l'accès croisé de doamin comme je joue avec un projet local. Je suspecte un problème de sérialisation parce que l'exception se produit de temps en temps, d'une manière ou d'une autre liée au jeu de résultats de ma base de données. – UserControl

0

Êtes-vous sûr que votre service WCF ne bloque pas sur l'appel? Si quelque chose ne fonctionne pas du côté serveur, le message retourné sera du code d'état HTTP 500. En raison des restrictions de sécurité, le navigateur ne retransmettra aucun message non-200 au plugin silverlight, ce qui entraînera le lancement de la classique CommunicationException. Le serveur distant a renvoyé une erreur: NotFound. "

Il existe certaines solutions de contournement assez bien documentées pour utiliser un comportement WCF pour modifier le code d'état HTTP sur la panne de 500 à 200 afin Silverlight aura réellement accès aux détails de ce qui s'est mal passé. Plus d'infos ici:

http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspx

http://www.netfxharmonics.com/2009/07/Understanding-WCF-Faults-in-Silverlight-3

+0

Je suis sûr que ma méthode ne lance pas d'exception (le point d'arrêt de l'accolade de fermeture de la méthode est touché). Quoi qu'il en soit, aucun des liens n'a été utile. Le premier casse complètement le service et le second ne fonctionne pas (et je m'assure que HttpStatusCode200Behavior est appliqué quand l'hôte est activé). – UserControl