2011-01-20 4 views
5

Sto utilizzando la libreria Microsoft Enterprise che registra in C# per registrare gli eventi nel DB SQL e io uso questi record per scopi di analisi.analytics in C#

c'è un modo migliore per l'analisi in C#. ad esempio "Microsoft StreamInsight da SQL Server 2008".

un altro modo è incorporare Javascript nel codice HTML utilizzato da Google Analytics. Ma in questo modo dovrei inviare tutti i miei dati di registrazione al sever di registrazione nel post HTTP.

Grazie

+0

Se si desidera tenere traccia del software desktop, è possibile provare http://www.trackerbird.com – Dive50

risposta

2

Una cosa che ho trovato interessante è che se si desidera tenere traccia i propri utenti è quello di implementare un filtro azione.

Se si utilizza ASP.NET MVC 3, è sufficiente registrare questo filtro come filtro globale e sarà possibile registrare ogni accesso a un'azione in ciascun controller.

L'intero HttpContext è disponibile in questi metodi.

public class TrackerFilterAttribute : ActionFilterAttribute 
{ 

    public TrackerFilterAttribute() 
    { 
    } 

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

     //TODO: Do my tracking here. 
    } 
} 

E questo può essere invocato nel seguente modo:

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 è uno strumento basato su server - che normalmente non farlo in C# in quanto comporta enormi quantità di dati, quale server le utility sono molto meglio.

0

È possibile utilizzare StreamInsight per eseguire analisi sul proprio sito Web. È possibile avere un codice personalizzato nelle pagine che invia messaggi a SI e raccogliere i contatori perfmon dai server Web a cui si è interessati. È quindi possibile analizzare queste informazioni in tempo reale per fornire un monitoraggio proattivo delle prestazioni e del carico. Detto questo, StreamInsight è solo per analisi in tempo reale. Per l'analisi a lungo termine, vorresti utilizzare un altro strumento.