2011-11-14 9 views
8

Antes de comenzar a escribir mis propias clases personalizadas, me preguntaba si ya existía un marco para usar.¿Hay marcos disponibles para rastrear la actividad del usuario?

Esto es para una aplicación Winform/WPF. Guardaré cosas como niveles de batería, intensidad WiFi, información del disco duro, información de RAM, etc. Junto con eso, también debo registrar lo que el usuario estaba haciendo en ese momento, como 'iniciar sesión', 'desconectado' , 'clickeado en un determinado botón', etc.

Esta información se mantendrá en una base de datos SqlCe localmente que finalmente se sincronizará con un servidor para la depuración/generación de informes.

Sería genial reutilizar algunos códigos ya disponibles.

¡Gracias por ayudar a todos!

Respuesta

1

No mencionas el idioma que estás utilizando, pero estoy asumiendo .Net a partir de la etiqueta C# en tu publicación. En ese caso, podría usar log4net para registrar la actividad del usuario y cualquier otro dato útil. Admite el registro en bases de datos junto con muchos otros formatos.

+0

Sí. Estoy usando C#. Ya uso log4net y tampoco lo consideré. Esa es otra buena opción. – ABR

0

Ha considerado las clases de proveedor de Membresía/Roles/Perfil en .net. Estas clases .net se usan generalmente para aplicaciones ASP.net pero esencialmente son una colección de procedimientos almacenados y bibliotecas de clases que le permiten rastrear el perfil de usuario y la actividad con una aplicación web. Incluso hay la capacidad de determinar si el usuario está actualmente conectado o no.

Puede usar lo siguiente para crear tablas y procedimientos almacenados para admitir la funcionalidad que está buscando.

ASP.NET SQL Server Registration Tool

Vas a tener que incluir una sección System.Web en el archivo app.config con los siguientes nodos secundarios por lo que su aplicación puede utilizar las clases de manera efectiva. Además, tendrá que hacer referencia a la biblioteca System.Web.Security en sus referencias y sus declaraciones de "uso".

<system.web> 
    <membership defaultProvider="MembeshipProvider"> 
     <providers> 
     <clear/> 
     <add connectionStringName="Test" name="MembeshipProvider" 
      type="SqlMembershipProvider" /> 
     </providers> 
    </membership> 
    <roleManager enabled="true" defaultProvider="RoleProvider"> 
     <providers> 
     <add connectionStringName="Test" name="RoleProvider" type="System.Web.Security.SqlRoleProvider" /> 
     </providers> 
    </roleManager> 
    <profile defaultProvider="ProfileProvider"> 
     <providers> 
     <clear/> 
     <add name="ProfileProvider" type="System.Web.Profile.SqlProfileProvider" 
      connectionStringName="Test"/> 
     </providers> 
     <properties> 
     <add name="FirstName" type="System.String"/> 
     <add name="LastName" type ="System.String"/> 
     <add name="Email" type="System.String"/> 
     . 
    . 
    . 
     </properties> 
    </profile> 
</system.web> 
+0

Gracias! Voy a investigar eso y ver si contiene lo que necesito. No lo consideré en absoluto;) – ABR

+0

Terminé creando mi propia clase que actúa como un contenedor para log4Net. Esto parece funcionar bien, pero cuestiono la eficacia de esto ahora mismo. – ABR

Cuestiones relacionadas