2011-01-20 15 views
5

Estoy utilizando el registro de la biblioteca de Microsoft Enterprise en C# para registrar los eventos en SQL DB y uso estos registros para fines analíticos.analytics en C#

hay alguna forma mejor para los análisis en C#. por ejemplo, "Microsoft StreamInsight de SQL Server 2008".

Otra forma es incrustar Javascript en el código HTML que utiliza Google Analytics. Pero de esta forma debería enviar todos mis datos de registro al servidor de registro en la publicación HTTP.

Gracias

+0

Si desea rastrear software de escritorio, puede intentar http://www.trackerbird.com – Dive50

Respuesta

2

Una cosa que me pareció interesante es que si desea realizar un seguimiento de sus propios usuarios es implementar un filtro de acción.

Si está utilizando ASP.NET MVC 3, solo necesita registrar este filtro como filtro global y podrá registrar cada acceso a una acción en cada controlador.

Todo el HttpContext está disponible en esos métodos.

public class TrackerFilterAttribute : ActionFilterAttribute 
{ 

    public TrackerFilterAttribute() 
    { 
    } 

    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     base.OnActionExecuting(filterContext); 

     //TODO: Do my tracking here. 
    } 
} 

Y esto puede ser invocada de la siguiente manera:

public class MvcApplication : System.Web.HttpApplication 
{ 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
     filters.Add(new TrackerFilterAttribute()); 
    } 

    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

    } 

    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 
} 
0

Analytics es una herramienta basada en servidor - que normalmente no lo hace en C#, ya que implica grandes cantidades de datos, qué servidor las utilidades son mucho mejores en.

0

Puede usar StreamInsight para realizar análisis en su sitio web. Puede tener un código personalizado en sus páginas que envíe mensajes a SI, así como recopilar contadores perfmon de los servidores web que le interesen. Luego, podría analizar esta información en tiempo real para proporcionar una supervisión proactiva del rendimiento y la carga. Dicho eso, StreamInsight es solo para análisis en tiempo real. Para análisis a largo plazo, querrá utilizar otra herramienta.