2008-12-17 7 views
5

Windows, Firefox o Google Chrome supervisan todas las estadísticas de uso y analizan los informes de fallos que se les envían. Estoy pensando en implementar la misma característica en mi aplicación.Estadística de uso del monitor-- ¿Cómo se hace?

Por supuesto, es fácil desechar una aplicación con una gran cantidad de declaraciones de registro, pero este es el enfoque que quiero evitar porque no quiero que mi código tenga demasiada preocupación transversal en una función. Estoy pensando en usar AOP para hacerlo, pero antes quiero saber cómo otras personas implementan esta característica primero.

¿Alguien tiene alguna sugerencia?

Aclaración: estoy trabajando en la aplicación de escritorio, y no implica ninguna RDBMS

Respuesta

1

En "Depuración NET 2.0 Aplicaciones" John Robbins (de Wintellect) escribe extensamente acerca de cómo generar informes de fallos y de depuración (acutally windbg/SOS mini dumps). Su clase Superassert contiene código para generar estos. Sin embargo, tenga en cuenta que se requieren muchos esfuerzos para configurarlo correctamente: servidores de símbolos, servidores de origen y un buen conocimiento de VS2005 y windbg. Su libro, sin embargo, lo guía a través del proceso.

En cuanto a las estadísticas de uso, a menudo he vinculado esto a la autorización, es decir, tiene un usuario el derecho de llevar a cabo una tarea en particular. Demasiado simplemente poner esto podría ser un método como este (ApplicationActions es un enum):

public static bool HasPermission(ApplicationActions action) 
{ 
    // Validate user has permission. 
    // Log request and result. 
} 

Este método podría añadirse a una clase SercurityService singleton. Como dije, esto es demasiado simple, pero debería indicar el tipo de servicio que tengo en mente.

0

Me gustaría echar un vistazo rápido al Bloque de la aplicación de registro que es parte de la Biblioteca de la empresa. Proporcionó una gran cantidad de cosas que necesita y está bien mantenido. Vea algunos de los escenarios y ejemplos disponibles, creo que los encontrará de su agrado.

http://msdn.microsoft.com/en-us/library/cc309506.aspx

+0

EL es basura, evítela a toda costa –

+0

Guau, eso es un reclamo bastante infundado. Estoy de acuerdo en que muchos de los bloques de aplicaciones son casi inútiles, pero algunos tienen sus méritos. –

1

Joel tenía un artículo en el blog acerca de algo como esto - su aplicación (s) se bloquea trampa y luego póngase en contacto con su servidor con algún conjunto de datos. Creo que busca duplicados y los arroja. Es un gran sistema y me impresionó cuando lo leí.

http://www.fogcreek.com/FogBugz/docs/30/UsingFogBUGZtoGetCrashRep.html

Hicimos esto en un lugar que estaba en ese tenía un servidor público configurar para recibir datos. No soy un tipo db y no tengo servidores que controle en los internets públicos. Desafortunadamente mis proyectos personales aún no cuentan con esta gran característica.

Cuestiones relacionadas