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);
}
}
Si desea rastrear software de escritorio, puede intentar http://www.trackerbird.com – Dive50