2010-10-15 3 views
1

J'ai utilisé l'outil NuPack pour ajouter Elmah à un site sur ma machine de développement.Cela a fonctionné comme un charme, mais quand j'envoie une requête à la page elmah.axd tout ce que je reçois en retour est 500 - Erreur interne du serveur .Les requêtes contre elmah.axd échouent toujours avec une erreur 500 - Internal server. Pourquoi? :-(

Mon code configuration:
Visual studio 2010
site construit sur EPiServer 4.62B
Fonctionnant sur .NET Framework 2 (en raison de EPiServer)

Ma configuration IIS:
IIS 7.5
Classique .NET AppPool (à cause d'EPiServer)

Mon ordinateur:
exécutant Windows 7 32bit (à cause de EPiServer)

contenu ELMAH dans web.config:

<sectionGroup name="elmah"> 
    <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" /> 
    <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /> 
    <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" /> 
    <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /> 
</sectionGroup> 

intérieur configSections.

<elmah> 
    <security allowRemoteAccess="yes" /> 
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" /> 
</elmah> 

A ce stade, je ne pas vraiment besoin allowRemoteAccess puisque je courais everyting de ma machine, mais essayer quoi que ce soit pour le moment. Et je sais que elmah.dll est en cours d'exécution car les fichiers journaux sont créés.

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 

inside system.web | httpHandlers.

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 

inside system.web | httpmodules.

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 

inside system.webServer | modules

<add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 

inside system.webServer | gestionnaires

J'ai fondamentalement ajouté toutes les suggestions que j'ai pu trouver sur le net au web.config, mais sans que cela fasse du bien. Ce qui m'amène à croire que quelque chose d'autre est faux, des idées?

Répondre

0

Je vais avoir ce problème aussi. La seule chose que j'ai trouvé qui fonctionne est de passer mon pool d'applications en mode intégré. Mon application n'a pas été entièrement testée par rapport à cela, donc je n'ai pas changé cela en production.

+0

Marquer celui-ci comme la réponse. Beeing coincé dans la piscine à un seul thread semble être la raison pour laquelle elmah ne va pas correctement (probablement ELMAH fonctionne comme il se doit, mais la piscine à un seul thread ne peut pas en faire bon usage). – JustAnotherCoder

2

Vous n'avez pas de chaîne de connexion à la base de données Elmah.

Avez-vous également ajouté les dlls Elmah et SqlLite à votre dossier bin?

J'ai un guide d'installation minimale ici qui pourrait aider:
http://www.codeulike.com/2010/05/quick-elmah-setup.html

+0

Merci pour la réponse! En ce moment, Elmah est configuré pour utiliser des fichiers XML lors du suivi des erreurs. Donc, aucune chaîne de connexion nécessaire. Et Elmah est en train de produire les fichiers, donc le fichier elmah.dll fonctionne. – JustAnotherCoder

0

Il est possible que la table DB elmah_error doive être réparée.

Il est arrivé dans mon cas à quelques reprises et en réparant, il a été réparé.

J'ai eu exactement le même problème elmah-> 500 - Internal Server Error.

commande il suffit d'exécuter mysql:

repair table elmah.elmah_error;

et une nouvelle tentative d'accéder ELMAH.

Questions connexes