2010-06-10 5 views
2

J'ai un service wcf qui commence à échouer de façon aléatoire, en demandant le javascript autogénéré que wcf prend en charge lors de la création. Mais je n'ai aucune chance de découvrir pourquoi, la chose de js fait partie du featureset de wcf. Je ne sais pas comment il peut soudainement commencer à échouer et être incapable de travailler jusqu'à IIS est recyclé.Le service WCF renvoie l'erreur 500 sur la demande/js

Le journal http me donne:

2010-06-10 09:11:49 W3SVC2095255988 myip GET /path/myservice.svc/js _=1276161113900 80 - ip browser 500 0 0 

donc son erreur 500, et qui est à peu près la seule chose que je peux comprendre. Le journal des événements ne contient aucune information.

Les requêtes à /path/myservice.svc fonctionnent très bien. Après avoir recyclé IIS, il fonctionne à nouveau, et quelques jours plus tard, il commence à échouer jusqu'à ce que je recycle IIS.

 <service 
     name="path.myservice" 
     behaviorConfiguration="b"> 
     <endpoint 
      address="" 
      behaviorConfiguration="eb" 
      binding="webHttpBinding" 
      contract="path.Imyservice" /> 
    </service> 
    ... 
    <endpointBehaviors> 
     <behavior name="eb"> 
      <enableWebScript /> 
     </behavior> 
    </endpointBehaviors> 
    <serviceBehaviors> 
     <behavior name="b"> 
      <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
    </serviceBehaviors> 

Je ne vois aucun problème dans les paramètres web.config non plus.

Des indices sur la façon dont je peux déterminer quel est le problème?

Edit:

Juste pour préciser - Il est la génération de javascript qui échoue, mon code est jamais appelé. Les appels au service fonctionnent très bien.

+0

Avez-vous résolu ce problème? –

+0

Non, il est parti seul. Je n'ai toujours aucune idée de ce qui l'a causé, ou de ce qui l'a fait disparaître. – Cine

+1

Mauvais. Merci de répondre. –

Répondre

2

Il semble que votre service WCF lève une exception. Vous pouvez intercepter cette exception non gérée dans la méthode Application_Error dans Global.asax, puis l'écrire dans un fichier journal.

protected void Application_Error(object sender, EventArgs e) 
{ 
    Exception ex = Server.GetLastError().GetBaseException(); 
    //TODO: write to log 
} 
+0

non, il n'entre jamais mon code. C'est la génération microsoft de javascript qui échoue. Les appels au service fonctionnent très bien. Et si cela venait à ce code, j'aurais reçu un bon email avec les détails et n'aurais pas à demander ici :) – Cine

2

Je vous recommande de enable tracing à votre service et regarder les journaux générés avec Service Trace Viewer Tool. Tracez seulement les erreurs pour garder vos logs petits.

+0

Il n'échoue pas vraiment en faisant ce que je l'ai codé pour faire. Il ne parvient pas à livrer le javascript dont j'ai besoin pour faire du code facile. Si je fais les appels directement, ils fonctionnent bien – Cine

+0

C'est pourquoi je vous ai suggéré d'activer le traçage. Le suivi ne consigne pas uniquement les erreurs provenant de votre code: toutes les erreurs sont consignées. –

Questions connexes