PDA

Ver la Versión Completa : ¿Es posible utilizar Console.WriteLine desde una Aplicación Web ASP.NET?


mamen
22-03-2005, 10:57:18
Estoy haciendo una aplicación Web que me carga un sitio Web, no me funciona bien y he pensado que cada vez que me carge una página del sitio la muestre en la consola, asi de esta forma puedo saber dónde está el problema, en qué página se queda colgado mi programa. Pero no me abre la consola.

Que puedo hacer??? A alguien se le ocurreo otra forma de mostrar cierta información de la página para ver por donde va mi programa???

Gracias. Chao

__hector
22-03-2005, 20:46:13
Esa no me parece que sea la mejor idea de implementar un log. Al mismo tiempo, el concepto de "no me funciona bien" no es una buena descripcion para determinar el problema exacto. Te lanza alguna excepcion? Se cuelga?

Has visto las opciones de debugging, como el uso de Trace?. Por cierto, no me imagino una webapp escribiendo a una consola de DOS.

mamcx
22-03-2005, 23:02:26
Bien dicho.

Recomendaciones:

1- Investiga las opciones de debugging de tu plataforma. Te recomiendo esta pagina: http://delphi.about.com/od/objectpascalide/a/beforeoptimize.htm En especial los enlaces

"Non obvious debugging techiques" y "Writing Solid Delphi Code"

2- Debes crear una clase de log... algo que te permita ante un error o cualquier cosa:

LogMessage("El Mensaje","Ubicacion(ej:NombreProcedimiento)","Tipo=Error,Warning")

No olvides usar un INI o algo similar para activar/desactivar el loging. Luego que guardes los mensajes en un archivo de texto/base de datos crea un cliente que lea el contenido y monitoree cuando entre un dato. Una herramienta comercial es CodeSite (http://www.raize.com/DevTools/CodeSite/Default.asp)

3- Implementa Unit Testing.

mamen
01-04-2005, 14:23:20
Es una aplicación que carga un sitio Web completo, es practicamente imposible hacer una traza (aunque ya lo he intentado con 100 páginas y todo iba perfectamente), un sitio puede tener muchas páginas por lo que habia pensado en escribir en la consola para ver por qué página se queda colgada mi aplicación.

Creo que no es una tonteria, aunque vosotros sabreís más. De todas formas no me ha parecido bien la forma en la que me habeis hablado. Antes de opinar asi podeis preguntar.

__hector
01-04-2005, 15:24:50
Ah caray, que se nos ha puesto sentimental el parsa :D

Disculpa si interpretaste algun tono fuera-de-tono en mi respuesta, pero insisto en que la solucion no puede ser escribir en consola, ya que empezando, tienes en un mismo webserver multiples peticiones a paginas, lo que me hace suponer que el IIS se multiplica en varios hilos para atender las peticiones, lo que te llevaria a manejar threads, quizas semaforos para compartir un recurso comun: la consola, y bueno... debo estarlo imaginando y eso no funciona así.

En fin, que un log de actividad va mejor. Como implementarlo? Puedes crear un usercontrol que en cada load de cada pagina escriba el contenido del trace, o las cabeceras http, aunque si no logras reproducir el error, sin duda que se te hara bastante dificil detectarlo.

mamcx
01-04-2005, 17:36:25
Bueno.. estuve buscando por ahi y me encontre con esta EXCELENTE herramienta. Ya la estoy usando en aplicaciones ASP.NET y Delphi y va de lujo:

http://tracetool.sourceforge.net/

mamcx
01-04-2005, 17:39:39
Adicionalmente te puede ser util usar AQTime (http://www.automatedqa.com/products/aqtime/) si el asunto esta bien peludo.. Te permite visualizar problemas mas serios como problemas de memorias, threads, etc...