est-il possible de capturer les 500 erreurs d'ASP classique au niveau mondial? Peut-être quelque chose dans IIS. J'utilise II6 pour le moment. J'aime capturer le message d'erreur, puis le stocker dans la base de données. Je connais son possible dans les pages ASPX, mais je ne sais pas exactement comment vous faites dans l'ASP classique. P>
merci p>
4 Réponses :
Oui, créez une page ASP qui enregistrera les détails d'erreur dans la base de données et définir cela pour être la page 500 gestionnaire dans IIS comme ci-dessous. P>
Utilisez l'objet Server.getlasterRor pour obtenir les détails de l'erreur dans votre script de gestionnaire. P>
Ce pourrait être une bonne idée de vous connecter à un fichier texte plutôt qu'à un DB dans votre gestionnaire 500 pour la résilience. P>
p>
Ceci est exactement ce que je cherchais. Merci Jon. Je vais essayer maintenant.
Quand je réponse.write server.getlasterror () je n'obtiens rien. Des idées?
Oh je faisais quelque chose d'idiot. Je ne regardais pas les propriétés. Asperror.aspcode () Asperror.aspdescription () Asperror.Category () Asperror.column () Asperror.Description () Asperror.File () Asperror.Line () Asperror.Number () Asperror.Source ()
Une excellente réponse en effet comme @Dan a également dit - allumer bientôt une belle prime de graisse. :-)
J'aimerais pouvoir uppouver cette réponse deux fois; Une solution aussi élégamment sophistiquée à une plate-forme de développement logicielle généralement maladroite et ancienne. Il suffit de modifier des tonnes de code hérité pour inclure Psuedo essayer de prendre des blocs ...
Pour IIS7, vous devez configurer une nouvelle redirection d'erreurs dans "IIS-> Pages d'erreur" dans les paramètres de votre site Web. L'URL doit être relative au site racinaire non relatif à votre site (ex: "/Yoursite/errorpages/500.asp") Bien que vous la configuriez dans les paramètres de votre site Web.
J'ai essayé cette injonction avec la solution de @ Saille. Cependant, je n'ai pas pu produire le même résultat. Soit chez ASP -> Page d'erreur ou IIS -> Page d'erreur
Si cela ne fonctionne pas, définissez une page d'erreur personnalisée pour 500.100 code> erreurs. C'est l'erreur réelle ASP Classic Retours. (En outre, si votre site exécute plusieurs langues, vous pouvez avoir une page d'erreur différente pour ASP et autre chose. Handy si vous voulez que ASP enregistre des erreurs! Par exemple,
500.100 code> géré par
Erreur. ASP code>,
500 code> géré par
error.php code>.)
La manipulation des erreurs dans l'ASP classique est une douleur complète. Vous pouvez attraper l'erreur où vous pensez que cela se produira à l'aide de alternativement, vous pouvez numériser les journaux du serveur pour 500 les erreurs. ou configurer une page "500 erreurs" dans vos paramètres IIS. P> sur erreur de reprise suivant code>, puis vérifiez le code d'erreur de la ligne de code suivante.
On Error Resume Next
... do something...
If Err.Number <> 0 Then
... handle error
end if
Complétant la réponse de Jon, utilisez ce script pour écrire des erreurs dans un fichier journal:
IIS7 a échoué à la demande de demande qui rapporte des erreurs classées classées non gérées, qui n'existaient pas si elle existe en 6.0. apprendre.iis.net/page .aspx / 266 / ...