Remote debugging en servidor o cliente?
-
2012年2月15日 10:48
Hola de nuevo,
Tengo otra pregunta de novata, a ver si pudiesen ayudarme...
Tengo una app web en un servidor y da error solamente a algunos empleados que acceden a ella. Como es una app web, creo que debería hace run Remote Debugging del Servidor pero en mi empresa me ponen algunos problemas.
Por otro lado, como solo les falla a algunos empleados, es posible que el error se produzca en el lado del cliente. ¿Puedo añadir algo en el web.config para obtener un log o bien, una descripcion detallada del error en el navegador del cliente?
¿Este codigo podria funcionar?
<customErrors mode="On" defaultRedirect="error.htm"><o:p></o:p>
<error statusCode="500" redirect="error500.aspx?code=500"/><o:p></o:p>
<error statusCode="404" redirect="filenotfound.aspx"/><o:p></o:p>
<error statusCode="403" redirect="authorizationfailed.aspx"/><o:p></o:p>
</customErrors>
¿Alguna otra idea?
Muchisimas gracias de antemano,
Saludos.
すべての返信
-
2012年2月15日 11:19
Una posibilidad sería capturar desde el Global.asax los errores de la aplicación y almacenarlos por ejemplo en el EventLog o en un archivo de texto. Sería algo parecido a esto (en el archivo Global.asax.cs):
using System.Diagnostics; protected void Application_Error(object sender, EventArgs e) { var ex = Server.GetLastError().GetBaseException(); var url = Request.Url; var msg = url + "\n" ex.Message + "\n" + ex.StackTrace; EventLog.WriteEntry("", msg, EventLogEntryType.Error); }Un saludo,
Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar
-
2012年2月15日 11:42
Mi recomendación, complementando lo que dice @Fernando es usar ELMAH.
Está diseñado exactamente para esto (log de excepciones no controladas en aplicaciones web) y funciona a las mil maravillas ya sea en webforms o ASP.NET.
http://code.google.com/p/elmah/
Una vez lo pruebes te preguntarás... como habías vivido antes sin usarlo ;-)
Saludos!
Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
- 回答の候補に設定 Fernando Escolar 2012年2月15日 11:54
- 回答としてマーク Eder CostaOwner 2012年10月26日 14:31
-
2012年2月15日 11:56
Hola Eduard,
La mejor respuesta creo que es la tuya. La mía es el camino fácil de hacer las cosas, como parche momentaneo. Pero la tu respuesta le va a aportar muchos más beneficios a largo plazo.
Además es una buena herramienta que merece la pena aprender a usar
+1 :D
Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar
-
2012年2月15日 12:21
Coincido con Fernando,
Yo también utilizo el global asax para cuestiones de debug, no obstante el uso de la herramienta que propone Eduard sería la solución más apropiada.
Como dato adicional, yo personalmente al capturar la excepción miró también de que tipo es, pero vamos, no hago nada con ellas, sólo es para cuando estoy depurando.
protected void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); HttpException httpException = ex as HttpException; ReflectionTypeLoadException reflectionTypeLoadException = ex as ReflectionTypeLoadException; }
NOTA: Con Eduard no hay quien juegue, uno se pone por aquí a mirar a ver si se puede echar una mano, pero se las lleva todas! Ya no sólo es que en todos los temas responde antes que nadie, si no que para colmo sus respuestas tienen una calidad superior. Abusón! :P
- 編集済み frikinside 2012年2月15日 12:22
- 編集済み frikinside 2012年2月15日 12:24
-
2012年2月16日 7:51
xDDDDD
Gracias hombre, pero tampoco hay para tanto! La verdad es que este foro está poco animado... supongo que es un fiel reflejo del poco uso que hay de ASP.NET MVC, pero bueno... esperemos que en el futuro mejore! :P
@Fernando
Gracias, pero tu respuesta por más parche momentáneo que sea, está bien que se conozca. Está muy bien conocer las herramientas como ELMAH o similares, pero siempre es importante saber parchear sobre la marcha! Que ya sabemos como funciona este mundillo... :)
Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

