Nuestro team de expertos despúes de días de trabajo y de juntar de datos, obtuvimos la solución, nuestro deseo es que resulte útil para ti para tu trabajo.
Solución:
Sí, cree una página ASP que registrará los detalles del error en la base de datos y configure esta como la página del controlador 500 en IIS, como se muestra a continuación.
Utilice el objeto Server.GetLastError para obtener los detalles del error en la secuencia de comandos de su controlador.
Puede ser una buena idea iniciar sesión en un archivo de texto en lugar de una base de datos en su controlador 500 para mayor resistencia.
Complementando la respuesta de Jon, use este script para escribir errores en un archivo de registro:
<%
'Set this page up in IIS to receive HTTP 500 errors
''Type' needs to be 'URL' and the URL is e.g.: '/500Error.asp' if this file is named '500Error.asp' and is in the site root directory.
'This script assumes there is a "/Log" folder, and that IIS has write access to it.
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim objFSO, err
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set err = Server.GetLastError()
outFile=Server.MapPath("/Log/ErrorLog.txt")
Set objFile = objFSO.OpenTextFile(outFile, ForAppending, True, TristateTrue)
objFile.WriteLine Now & " - ERROR - ASPCode:" & err.ASPCode & " ASPDescription: " & err.ASPDescription & " Category: " & err.Category & " Description: " & err.Description & " File: " & err.File & " Line: " & err.Line & " Source: " & err.Source & vbCrLf
objFile.Close
Set objFile = Nothing
Set err = Nothing
%>
El manejo de errores en ASP clásico es un dolor total. Puede detectar el error donde cree que va a ocurrir usando on error resume next
luego verifique el código de error en la siguiente línea de código.
Alternativamente, puede escanear los registros del servidor en busca de 500 errores. o configure una página de “500 errores” en su configuración de IIS.
On Error Resume Next
... do something...
If Err.Number <> 0 Then
... handle error
end if
Te mostramos comentarios y puntuaciones
Si eres capaz, eres capaz de dejar un post acerca de qué te ha impresionado de este escrito.