Le serveur n'a pas pu traiter la demande en raison d'une erreur interne
Quand j'essaye de charger la méthode de service web, j'obtiens une erreur:
"Le serveur n'a pas pu traiter la demande en raison d'une erreur interne. Pour plus d'informations sur l'erreur, soit tourner sur IncludeExceptionDetailInFaults (soit à partir de ServiceBehaviorAttribute ou de la configuration de comportement) sur le serveur pour envoyer à l'exception de l'information vers le client, ou activer la fonction de traçage comme par Microsoft .NET Framework SDK documentation et d'inspecter les journaux de trace du serveur"
C'est mon application.config extrémité def:
<services>
<service name="Service" behaviorConfiguration="debug">
</services>
<client>
<endpoint name="Service" address="net.tcp://localhost:12708/" binding="netTcpBinding" bindingConfiguration="netTcp" contract="path.IService" >
<identity>
<servicePrincipalName />
</identity>
</endpoint>
</client>
<serviceBehaviors>
<behavior name="debug">
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
Je ne vois pas plus d'informations de l'événement si j'ai déclaré serviceBehaviors.
Quelqu'un pourrait me dire comment puis-je voir plus de détails sur cette erreur?
J'ai édité ton titre. Se reporter à la rubrique "si vous avez des questions comprennent “tags” dans leurs titres?", où le consensus est "non, ils ne devraient pas".
OriginalL'auteur codelikeprogrammerwoman | 2014-01-13
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur est assez clair. Le serveur est configuré pour masquer les erreurs internes pour des raisons de sécurité.C'est le comportement par défaut en fonction de la la gestion des pannes dans WCF MSDN post.
Je vois deux options, à la fois, supposons que vous avez accès au serveur:
Permettent montrant les détails de l'erreur
Voir la la gestion des pannes dans WCF MSDN post. Il fournit des détails sur la configuration de votre configuration, dans la "Fournir des Informations Supplémentaires Lorsqu'une Exception Se produit".
De débogage en utilisant des points d'arrêt
Ce serait mieux. À mon avis, pas de message d'erreur peut réellement vous donner l'aperçu d'une session de débogage.
Espère que j'ai aidé!
Je n'ai pas les informations nécessaires à mon ami... Si je pense à quelque chose, je vais vous dire.
OriginalL'auteur Pantelis Natsiavas
Lors de l'exécution de la présente localement, vous pouvez déboguer le service en l'attachant à l'aide de
Tools
->Attach to Process
.Dans la liste des processus, chercher le processus
W3wp.exe
, avec le TypeManaged (...) x64
ouManaged (...) x86
, selon ce que vous avez configuré votre service pour exécuter en tant que.Cliquez sur
Attatch
, définir un couple de points d'arrêt dans votre service, et essayez d'accéder à nouveau dans votre navigateur web, et ils devraient être frapper.Notez que vous aurez besoin de publier vos WS en mode Debug pour que cela fonctionne.
Ok; j'ai été en supposant que vous aviez publié sur un serveur IIS. Si vous venez de l'exécuter à partir de VS, vous pouvez trouver un processus appelé quelque chose comme
WebDev.WebServer40.EXE
à la place. Il devrait avoir un Titre commeASP.NET Development Server - Port 12708
(assurez-vous également que vous avez commencé le processus en tentant d'exécuter le service avant de regarder pour le processus dans le Joindre au Processus de la liste).Mon service est démarré parce que je vois "Statut=en route" dans WCF Service d'Accueil. Sur la liste de processus je n'ai pas procédé comme webdev, w3wp, portnumber, etc ;/ Seulement un service ressemble approprié: dans le titre il y a [path_to_my_solution.project_name.exe] et dans le type il est Géré(...) mais cela ne fonctionne toujours pas ;/
Il est l'un des processus qui je ne peut pas les joindre car j'ai une erreur "Impossible de joindre au processus. Un débogueur est déjà attaché", mais il n'en est rien ;/ étrange ...
OriginalL'auteur Kjartan
Solution: Mon service n'est pas démarré.
Parce que nous exécuter des services localement, j'avais besoin d'ouvrir la solution et exécuter le service local via RG -> Créer une nouvelle instance.
Comment je fais, je sais ce que c'est? Mes fichiers journaux sont stockés dans c:/temp.
Dans cet endroit, est apparu un nouveau fichier journal et j'y ai trouvé plus d'info à propos de mon erreur.
(Tout le temps, je pensais que les détails au sujet de mon message d'erreur est entrée dans ma base de fichier journal, mais je n'ai pas s'attendre à un autre fichier journal.
Donc, Raison: service web n'a pas de travail.
Solution: Démarrer le service local: Rb -> créer de nouveaux services.
OriginalL'auteur codelikeprogrammerwoman
vous devez ajouter les diagnostics de votre fichier de configuration:
OriginalL'auteur elfekz