J'ai des services de WCF qui fonctionnent bien localement; Le client peut les consommer et le serveur met des données dans la DB comme prévu. Le problème est que lorsque je les déploie dans une machine de mise en scène, tout ce que je peux voir sont des erreurs HTTP 500. P>
Étant donné que ce n'est que sur la mise en scène et non sur ma machine de développement locale, je suppose que c'est un problème de configuration IIS quelque part. p>
Quand j'utilise Fiddler pour voir ce qui est envoyé et quelle est la réponse, je peux voir (comme prévu) des données de demande correctes, et seulement une 500 comme réponse - pas d'autres détails. P>
Je suis assez vert au wcf et à l'IIS, donc c'est probablement quelque chose d'évident; J'ai utilisé J'ai regardé dans les journaux IIS, mais ils sont assez jumelés; Aucune information d'erreur là-bas, non plus (ou peut-être que je cherche au mauvais endroit?) P>
(plus important que la résolution du problème spécifique consiste à déterminer comment voir suffisamment de détails sur les erreurs afin que je puisse travailler moi-même.) p>
EDIT: STRUT> i Bien sûr, vérifiez les journaux d'événements en premier - et surprenant, n'a rien trouvé de mention des exceptions. Donc, je suppose que le service est au moins em> étant invoqué, et que quelque chose fait défaut au milieu. P> aspnet_iisreg code>, déployé mon fichier
.svc code> et toutes les dlls / fichiers de construction de
bac code>; Peut-être que j'ai manqué quelque chose. P>
4 Réponses :
Le premier endroit à rechercher des erreurs est le journal des événements sur le serveur. Il devrait y avoir des informations de base pourquoi la demande n'a pas été traitée. Si elle est liée au WCF, vous pouvez activer Tracing WCF et vérifier plus Détails dans les journaux générés. P>
J'ai été très surpris de constater que le journal des événements n'avait rien dedans! Aucune mention des exceptions .net.
"Erreur de serveur interne http 500" peut se produire si le mot de passe de votre compte de service a été expiré. Assurez-vous de ne pas avoir de problèmes avec un compte de service qui exécute le pool d'applications sur IIS. P>
Il s'avère que le serveur renvoie un 500 à cause d'un énorme jeu de données retourné; WCF met certaines limitations sur la taille des données (et des chaînes) que vous pouvez revenir, pour empêcher les attaques de DOS. J'ai résolu le problème en augmentant les limites et en diminuant la taille des données renvoyées (le cas échéant). P>
ajout: dans web.config sous: p> et voir ce qui se passe dans plus de détails. P> < / p>